Objective-C уже не является модным языком разработки для iOS и Mac OS — мантия трендсеттера переходит к представленному в середине 2014 года Swift. Но сторонники Objective-C по-прежнему держатся за этот язык и очевидно, что он просто так не исчезнет в ближайшие годы, пишет издание InfoWorld.
Сторонники Objective-C убеждены, что язык будет «в теме» ещё много лет в силу своей стабильности и популярности у разработчиков.
«Apple собирается поддерживать Objective-C ещё десять лет, — говорит Аарон Хилегэсс, CEO и основатель компании по разработке мобильных приложений Big Nerd Ranch. — Думаю, вы можете смело рассчитывать, что будете спокойно писать «яблочные» приложения на Objective-C всё это время».
Скептики, правда, не столь оптимистичны. Среди главных преимуществ Swift перед Objective-C эксперты называют его простоту для чтения и поддержки кода, безопасность, быстроту и лаконичность. Swift позиционируется Apple как инструмент с выразительным синтаксисом, который благодаря своей интерактивности предполагает более быструю разработку приложений. При этом в другой документации компания до сих пор указывает Objective-C в качестве базового языка для разработки программного обеспечения под iOS и Mac OS.
Масштаб инвестиций в Objective-C: «Писать панегирики рано»
Разработчики приложений под платформы Apple продолжают занимать позицию в углу ринга Objective-C. «Слишком много средств компания Apple вложила в Objective-C, чтобы прекратить его поддержку в ближайшие четыре, семь или даже все десять лет, — заявляет консультант Кристофер Аллен. — Разумеется, так или иначе в какой-то момент будущие API будут доступны исключительно в виде Swift API, но маловероятно, что это вопрос ближайших дней. Рано или поздно это случится, и это будет реальным началом конца Objective-C, но сейчас писать панегирики этому языку явно рано».
Даже презентация вышеупомянутого Аарона Хилегэсса, озаглавленная именно «Панегирик Objective-C», оказалась трюком и на самом деле провозглашала, что «Objective-C в действительности совсем не близок к кончине».
Хилегэсс рассказал об этом в своём выступлении в июне в Сан-Франциско: «Я должен отметить, что действительно люблю Objective-C. Все говорят, как прекрасен Swift, и что он действительно шаг вперёд относительно Objective-C. Шаг вперёд, но не прорыв». Objective-C, по словам Аарона позволял ему строить структуры классов и заниматься низкоуровневым программированием без какого-то особого перенапряжения. Именно поэтому он считает себя двадцатилетним ветераном разработки на этом языке.
Главная проблема — «волатильность»
Разработчик Сэм Ритчи в прошлогоднем эссе «Почему Objective-C обречён» также назвал Swift «переходным» и «не заполняющим в полной мере нишу» языком. Он всё ещё видит пространство для существования Objective-C: «Вопрос в том, как долго Apple будет поддерживать Objective-C, но этот процесс так или иначе будет измеряться годами».
По словам Ритчи «волатильность» Swift остаётся главной проблемой. Некоторые разработчики просто не примут язык, пока не будут уверены, что он не будет меняться с каждым релизом Xcode IDE. Есть ещё вопрос и в поддержке iOS 7. Swift, конечно, работает на iOS 7, но «не существует официальной поддержки динамических библиотек, и таким образом использование сторонних Swift библиотек становится куда более трудоёмким занятием».
Очевидно, что Swift проектировался для работы с Objective-C, что явно демонстрирует настроенность Apple на длинный переходной период между языками. «В рамках догадок, я бы ожидал длительность этого периода в промежутке четырёх-пяти лет, хотя как вариант мы сможем увидеть выход «только Swift» фреймворков и раньше, по мере стабилизации Swift API», — добавляет Сэм Ритчи.
Приложения и фреймворки всё ещё опираются на Objective-C
Преподаватель Objective-C из Code School и iOS-разработчик Джон Фрискикс отмечает, что на данный момент очень много софта создано при помощи Objective-C, а это значит, что по его оценкам этот язык будет оставаться на кону как минимум ближайшие 3-5 лет: «Думаю, у Objective-C всё ещё есть большое будущее, так много приложений, в конце концов, разработано именно с его помощью».
Консультант Кристофер Аллен добавляет свою ремарку к этой теме: «Вы всё ещё должны понимать Objective-C, чтобы создавать комплексные Swift приложения — Mac OS и iOS всё ещё сильно завязаны и оптимизированы под Objective-C». В конце концов эти API устареют и будут замещены Swift-ориентированными, но это определённо займёт не так мало времени.
Swift, по словам Аллена, представляет собой «что-то вроде Франкенштейна — это язык нового поколения, но он должен поддерживать предыдущие поколения API и поэтому имеет так много конструкций, которые совсем не такие современные, как сам язык». Может быть, придёт момент, когда Swift в версии X избавится от всех этих архаизмов, но, скорее всего, однажды появится новый язык, который будет последователем Swift, лишённым тяжести всего этого обременительного наследства.
Хилегэсс в свою очередь отмечает, что «фреймворки, на основе которых Apple всё и построил, написаны на Objective-C». Речь идёт о Cocoa, CocoaTouch, AppKit, UIKit и других. Между тем, по словам разработчика, фичи-дженерики от Swift также появляются в Objective-C.
Выбор для новичков
Сэм Ритчи видит Swift в качестве выбора для новичков.
«Swift наиболее популярен среди девелоперов, только прибывших на новую платформу, которые ещё не вложили время и усилия в Objective-C. Хотя при этом большинство разработчиков, с которыми я разговаривал, вполне нормально воспринимают переход (за исключением немногих, которые в таком случае совсем откажутся от платформы) на Swift. И здесь вопрос не в безопасности или в каких-то иных улучшениях, а скорее в новом синтаксисе и понимании, что это будущее и они просто не хотят оказаться отцепленным вагоном в нём», — отмечает он.
Также читайте: Язык Swift: крупнейший прорыв Apple и приговор Objective-C
Компания Red Monk, которая последние пять лет регулярно публикует рейтинги популярности языков программирования, оценила успех Swift как «беспрецедентный». Перед его появлением единственным выбором для разработчиков под продукты Apple был Objective-C, изначально представленный ещё в 1980-е. Разработчики начали жаловаться, что этот язык уже стал явлением из прошлого, он по-старомодному многословен и по современным меркам откровенно некрасив и неудобен.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.