Чи варто мені використовувати Swift чи Objective-C, щоб навчитися розробці додатків для iOS?

3

Не завжди легко вирішити, чи використовувати Objective-C чи Swift для проекту, оскільки існує величезна кількість факторів, які потрібно враховувати щоразу, коли ви починаєте новий проект. Обговорення цієї теми є найпоширенішим питанням, яке ставили більшість тих, хто вивчає розробку програм для iOS.

Вибір правильної та найбільш відповідної мови залежить від контексту та переваг проекту та команди, відданості одній мові програмування. Замість того, щоб розгойдувати прапор Objective-C або Swift, ми розглядаємо всі аспекти проекту, які вказують на одну мову над іншою, наприклад обсяг проекту, масштаб, склад команди та технічні міркування.

У 2014 році Apple випустила абсолютно нову мову програмування Swift, яка здивувала всю спільноту. Протягом останніх 2 років основна команда Swift швидко повторювала, випускаючи численні версії мови на велике задоволення та шок для спільноти.

Для існуючих розробників Swift має цікаві наслідки, а також вносить трохи складності для новачків, які хочуть навчитися розробці iOS. Це хороший варіант для всіх розробників, які вже знають розробку Mac або iOS і хочуть вивчити нову мову та допомогти сформувати її.

Однак є багато розробників, які просто хочуть експериментувати, не хочуть працювати розробником iOS і не проти мати справу з додатковими помилками під час навчання, оскільки, можливо, їм також цікаво вивчати це.

Чому ви повинні вивчити Swift?

Щоб розібратися в основах програмування, Swift є набагато легшою мовою для роботи, тоді як Objective-C існує понад 30 років і написана в той час, коли потрібно було врахувати різні міркування щодо того, як ми взаємодіємо з комп'ютерами.

Сьогодні дуже важливо знати та розуміти всі ці фактори, оскільки вони можуть ускладнити вивчення основ програмування. Крім того, основи програмування набагато простіше зрозуміти за допомогою Swift, ніж Objective-C. Давайте розглянемо різні причини, чому варто вивчити Swift?

Сейф

Під час запуску Swift Apple стверджувала, що він безпечний, сучасний і потужний, тоді як модернізм і потужність мови програмування мало що значать для абсолютного початківця, а безпека важлива головним чином.

Найважче не знати, що пішло не так під час навчання програмуванню. Що ж, є численні переваги, якщо з’ясувати це на собі та навчитися на цьому; однак відсутність відповідних відгуків може декого відштовхнути.

Використовуючи Swift, ви можете запобігти виникненню цілої категорії помилок і помилок і періодично інформувати нас про те, що ми робимо не так. На додаток до цього, Swift є набагато безпечнішим, і він принесе вам користь, оскільки зробить ваш досвід написання коду менш розчаровуючим.

Високоінтерактивне середовище

Крім Swift, Apple також випускає два найбільш інтерактивних середовища кодування, які допомагають новачкам навчитися кодувати. Існує Xcode Playgrounds, яке є середовищем, яке допоможе всім новачкам навчитися кодувати.

Існує Xcode Playgrounds, яке є середовищем і частиною програми Mac під назвою Xcode і дає вам змогу вивчати та досліджувати Swift, прототипувати частини вашої програми та розробляти навчальні середовища для інших.

Ви також можете знайти програму для iPad під назвою Swift Playgrounds, яка надає таке ж інтерактивне середовище, як і Xcode Playgrounds, але в набагато більш дослідницький спосіб, що дозволяє вам використовувати апаратне забезпечення iPad.

Найкраща перевага Swift полягає в тому, що він набагато привабливіший, ніж будь-який інший, і забезпечує миттєвий зворотний зв’язок, що робить усю концепцію легкою для вивчення. Таке середовище не подобається Swift, але Apple робить чудові речі з програмою для iPad, що полегшує навчання для початківців.

Сучасний

Swift — це дуже сучасна мова, яка має багаті аспекти, що дозволяє початківцям легше читати та писати, ніж Objective-C. В Інтернеті ви можете побачити це написане, і це не має значення, оскільки все набагато легше зрозуміти, якщо ви маєте достатньо досвіду з цим.

Непросто розібратися в концепціях, не зачепивши читання коду. У вас не буде збою програм, якщо ви забули крапку з комою в кінці рядка.

Це незначні речі, коли ви до цього звикнете; однак вони, безсумнівно, корисні для початківців, які пропонує Swift. Swift є дуже сучасним, і він знизить паркан для входу для багатьох людей, що значно полегшить зосередження на концепціях.

Одним словом, вивчення та розуміння основ програмування є першим кроком у вашому шляху до вивчення розробки iPhone. Модернізм і безпека, які забезпечують мови, сприяють зниженню бар’єрів для входу.

Навіщо вивчати Objective-C?

Поступово відповідь буде змінюватися, оскільки роки минатимуть, і Свіфт буде більше проникати в спільноту; однак про Objective-C варто знати лише одну річ, оскільки вона була де-факто мовою для розробки iOS протягом приблизно 10 років. Крім того, якщо ви хочете стати розробником MacOS, Objective-C був першим вибором з 80-х років.

Коротше кажучи, усе в iOS SDK було розроблено в Objective-C і чудово працює з моделлю програмування Objective-C. Хоча ви пишете код у Swift, ви будете взаємодіяти з компонентами, написаними в Objective-C. Бібліотеки та фреймворки сторонніх розробників в основному є в Objective-C, оскільки Objective-C існує набагато довше.

Крім того, нищівна більшість навчальних ресурсів, таких як дописи в блогах, книги, відео конференцій і багато іншого, всі в Objective-C; отже, якщо ви звернетеся до Інтернету за допомогою щодо якоїсь таємничої проблеми, є високі шанси прочитати код Objective-C. Спільнота Swift зацікавлена, і в Swift є багато ресурсів, тож не думайте, що вам буде важко отримати допомогу.

Якщо ви вирішили бути серйозним розробником iOS, важливо також читати та писати код Objective-C. Основна причина цього полягає в тому, що якщо ви влаштуєтеся розробником iOS або отримаєте старіший проект, увесь код буде написаний на Objective-C.

Однак інструменти, які ми використовуємо для розробки під iOS, не оптимізовані для Swift, і він досягає цього, але ці інструменти набагато кращі з Objective-C. Для більшості компаній Objective-C залишається мовою розробки.

Чи потрібно вивчати обидві мови?

Apple, провідна компанія, випустила абсолютно нову мову не просто для розваги. Компанія випустила цю нову мову завдяки своїй основній команді та зусиллям, спрямованим на сприяння сприйняттю в спільноті та надання чітких вказівок.

Компанія бачить цю висококласну мову як майбутнє своїх платформ. Основна мета мови Swift полягає в тому, щоб вийти за межі розробки iOS і добре працювати з нинішнім серверним Swift.

Якщо ви вирішили довгостроково бути частиною цієї спільноти, Swift стане вашою основною мовою розробки. Незважаючи на впровадження Swift, Objective-C нікуди не подінеться. Компанія все ще намагається внести багато покращень у мову.

На Swift можна писати програми повністю; однак існує велика ймовірність того, що вам доведеться іноді занурюватися в Objective-C. Обов’язково пам’ятайте, оскільки ви підходите до цього як новачок, що є досить складною частиною розробки iOS. Ознайомившись з однією мовою програмування, вам не важко буде вивчити іншу.

Вибираючи між Objective-C і Swift, зверніть увагу на технічні міркування

Обидві мови, Objective-C і Swift, отримали різноманітні технічні переваги. Нижче наведено фактори, які слід враховувати.

Мова Runtime

Чи знаєте ви, що середовище виконання Objective-C надійніше, ніж середовище виконання Swift? Час виконання Swift навіть близький до часу виконання Objective-C, і це буде неможливо навіть протягом багатьох років. Якщо ви вирішили написати код, який виграє від рефлексії та глибокого самоаналізу об’єктів і типів, Objective-C — це безглуздий крок.

Стійкість коду

Swift є більш безпечною мовою програмування, ніж Objective-C, завдяки своїй сильній системі типізації та обробці помилок. Якщо ви використовуєте ідіоматичний Swift, вам гарантовано, що ваш код враховує всі можливі випадки помилок.

Це не означає, що він вловлює все. Вихід пам’яті з циклу збереження є одним із прикладів помилки, яка так само поширена в коді Swift, як і Objective-C. Це тому, що мимовільна система підрахунку посилань Swift не змінюється.

Підтримка інструментів

Вся команда Xcode виконала неймовірну роботу, оновивши процес збірки для підтримки Swift. Команді довелося мати справу із застосуванням складної мови та підтримкою її роботи з дуже іншою мовою. Невеликий сюрприз полягає в тому, що сама IDE відстає, а підтримка інструментів для Swift найменша.

Іноді вам може пощастити отримати підсвічування синтаксису. Багато разів ви обійдетеся без автозаповнення. Якщо ви один із тих, кому подобається надійна підтримка сучасних IDE, ви обов’язково подумаєте про те, щоб зупинитися на Objective-C або оцінити альтернативні IDE. Найпоширенішою альтернативою є AppCode; однак є хтось, хто правильно налаштував emacs.

Робота з API Foundation

Програма, яку ви плануєте створити, використовуватиме основні API, вам слід використовувати Objective-C. Це правда, що Swift пропонує кілька чудових обгорток і робить керування пам’яттю трохи плавнішим; однак це все ще C API і виклики функцій на основі C, які більш природно впишуться в кодову базу Objective-C.

Використовуйте код C++

Подібно до базових API, ви можете використовувати бібліотеки C++ або розробляти на основі кросплатформного C++ SDK, оскільки він підійде для проекту Objective-C. Ви не зможете імпортувати C++ у файли Swift.

Щоб використовувати Swift, вам потрібно виконати виснажливе завдання зі створенням класів-оболонок Objective C і C++, повне помилок. Кожного разу вам знадобиться зв’язування та додаткові витрати, і ви захочете використовувати іншу частину бібліотеки C++. Objective-C — правильний варіант, якщо ви збираєтеся використовувати C++.

Майбутнє

Чи знаєте ви, що найбільш перспективні проекти – це проекти, написані на Swift? Використання Swift було розширено до використання для третіх проектів Cocoa з відкритим кодом. У найближчі чотири роки він буде дорівнювати Objective-C. Крім того, більшість нових посібників і блогів вже пишуться на Swift.

Ми твердо переконані, що протягом 5-10 років має бути достатньо інформації про Swift, щоб спростувати вимогу розуміння Objective-C. Ви отримаєте достатньо часу, щоб перетворити свій код, перш ніж Objective-C припинить роботу; тому ви можете залишити це для роздумів.

Заключний

Отже, це найпоширеніші фактори, які розробникам потрібно враховувати, вибираючи між Objective-C і Swift для розробки додатків iOS. Існують шанси, що ваш проект може включати додаткові міркування, з якими зазвичай не стикаються більшість програм. Однак, якщо ви шукаєте досвідченого розробника iOS, який володіє як Objective-C, так і Swift, ви можете зв’язатися з компанією з розробки програм для iPhone.

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі