Большое количество проектов разрабатывается на платформе iOS. Как вы наверняка знаете, операционные системы iOS и Android — два самых популярных игрока на мировом рынке. На данный момент доля iOS составляет 27%, а его собрата — 66,82% (статистика за август 2016).
Сравнивая эти результаты с данными февральского исследования Gartner (iOS — 17,7%, Android — 80,7%) видно значительное увеличение числа устройств с iOS платформой. И в то же время iOS приложения приносят самый большой доход.
Для компаний по разработке ПО это значит значительный рост спроса на разработчиков iOS приложений, способных писать качественный код. И тут мы подходим к вопросу языков программирования. Что же лучше для разработки мобильных iOS приложений, Swift или Objective-C?
Язык программирования Objective-C появился в начале 1980-х гг. и был главным языком, используемым на платформе NeXT для своей операционной системы NeXTSTEP. В 1996 году Apple Computer приобрела NeXT и начала использовать OpenStep в MAC OS X, который включал Objective-C и инструмент на основе NeXT Objective-C.
В феврале 2008 Apple выпустил iPhone SDK 2.0, позволяющий создавать нативные приложения для iOS.
И это стало очередной революцией в разработке мобильных приложений и рождением нового поколения разработчиков — на iOS. Для многих программистов это было настоящим вызовом, брошенным компанией Apple, так как большинство из них ранее не имело дела с Objective-C.
Но, несмотря на это, решение было весьма успешным. Благодаря выделению (назовем это так) языка программирования Objective-C компании Apple удалось “наводнить” App Store десятками тысяч новых приложений.
Что немаловажно, Apple постоянно развивает этот язык, добавляя новый синтаксис блоков, литералов, возможность явно указывать нулевые параметры, переменные, типы возвращаемых значений, упрощая управление памятью и многое другое.
После шести лет работы над улучшением и развитием Objective-C, в 2014 году на Всемирной конференции Apple для разработчиков компания выпустила новый язык программирования — Swift. В отличие от Objective-C, Swift — статически типизированный язык, который не является строгим расширением C.
Тем не менее, Swift поддерживает взаимодействие как с C, так и с Objective-C, включая новые эффективные функции для разработчиков iOS приложений. Хотя прошло только два года, на данный момент Swift является многообещающим языком и уже, безусловно, сильной девелоперской платформой.
В прошлом году Swift занял первое место в Stack Overflow в категории Most Loved Programming Language, а в этом — второе.
Сейчас многие разработчики iOS приложений предпочитают писать код на Swift из-за его важных преимуществ. Конечно, это ни в коем случае не значит, что стоит забыть об Objective-C и полностью перейти к “свифту”. Но это не меняет того факта, что код, написанный на Swift, быстрее, его проще читать, и сам язык более современный.
В этой статье мы рассмотрим эти языки программирования для разработки приложений для платформы iOS.
Когда в 2014 году Apple выпустила Swift, одним из заявленных преимуществ была его скорость. Как бы то ни было, он не имеет такой высокой производительностью, как другие языки. Компилятор Swift довольно медленный и из-за этого могут возникать ошибки, например, при реализации “дженериков” (generics).
Но если сопоставить Swift с Objective-C, то первый по меньшей мере такой же быстрый, а чаще всего быстрее. Также следует отметить, что Apple работает над улучшениями производительности “свифта”, что определенно является хорошей новостью.
Продолжая сравнение этих языков программирования, Swift является более устойчивым к ошибочному коду, так что можно сказать, что он более устойчив к ошибкам. К примеру, он предлагает возможность генерировать ошибку компилятора, если разработчик iOS приложений пишет плохой код.
То есть проблема может быть устранена, как только написан код. Эта функция позволяет экономить время и деньги, затрачиваемые на фиксирование багов.
Процесс разработки мобильных приложений на Swift проще по сравнению с Objective-C. Код, написанный на “свифте”, гораздо удобнее читать. Сам язык требует меньше кода, что также является преимуществом.
Например, система типов Swift снижает сложность промежуточного кода, в то время как разработчики iOS приложений, пишущие на Objective-C, вынуждены запоминать специальные символы (%s, %d, %@) и предоставлять списки переменных для замены каждого из них. Также Swift включает модули, которые устраняют класс префиксов и имеет более понятный закрытый синтакс.
Одно из главных преимуществ “свифта” заключается в возможности создавать гибкие и легковесные классы, что упрощает разработчикам задачу: если вы хотите ввести описание, просто используйте протокол Printable. И то же самое со сравнением (применение протокола Comparable).
Необходимо заметить, что Swift гораздо более современный язык, адаптирующий современные подходы других языков. Например, функция добавления двух строк вместе при помощи “+”. Так, Objective-C не имеет такой возможности. Говоря о функциях “свифта”, следует отметить одну из самых полезных, а именно опцию Playground.
Благодаря ей разработчики iOS приложений легко могут увидеть, как работает приложение (как должно или же нет). Также им не нужно запускать эмулятор, что позволяет сэкономить время.
Таким образом, в данном контексте Swift выигрывает. Тем не менее, если рассматривать процесс разработки iOS приложений в целом, то Objective-C предлагает богатые библиотеки и много других полезных вещей. Также оба эти языка могут идти рука об руку в одном приложении.
Несмотря на то, что Swift имеет слабые стороны, (недостаточная поддержка сторонних IDE и наличие багов в XCode, например, XCode 6.3 не распознает юнит-тесты Swift), он предлагает много преимуществ.
Он более любим разработчиками iOS приложений, так как его проще читать, он более устойчивый к ошибкам, требует меньше кода и он более удобный для непосредственно самого создания продуктов.
Будучи современным языком программирования, Swift включает много функций и возможностей, в какой-то мере заимствуя полезные вещи из других языков (в частности, Objective-C) и игнорируя ненужные. Подведем итоги.
Со своего первого релиза в 2014 году Swift сделал значительный шаг вперед. В результате жизнь iOS разработчиков “стала проще”, появились новые функции, предотвращающие какие-то общие ошибки и благодаря которым фиксирование багов стало занимать меньше времени.
Smartum Pro предлагает качественные услуги по разработке iOS приложений, используя лучшие технологии. Мы будем рады ответить на ваши вопросы и предоставить разумные рекомендации к вашему проекту.
Также, в связи с «наплывом» новых проектов, мы расширяем нашу команду мобильной разработки, и спешим сообщить, что в нашей компании открылась вакансия iOS разработчика!
Мы будем рады предоставить вам конкурентный уровень вознаграждения и профессиональный рост. Ждем ваше резюме.) (Добавлено 18 июня 2018)
looks good!
We will process the request and contact you.
Now fill in information about yourself: