Swift предлагает нам интересное будущее

Юрий Слинько / 23.06.2015 3749 0

Чуть больше года назад Apple попыталась совершить революцию в рядах Objective-C разработчиков, представив новый язык программирования Swift. Революция удалась, но полностью переходить на Swift пока никто не спешит.

О том, зачем нужен Swift мы поговорили с Ильей Никокошевым, спикером конференции MDDay Online для разработчиков, которая состоится уже завтра.

unnamed

Илья Никокошев, iOS-разработчик студии «Гиперболоид»

Почему Swift вызвал такой бешеный интерес?

Новости от Apple сами по себе могут «двигать рынок», чем бы они не занялись. Так что сообщество мобильных разработчиков сразу обратило внимание на новый язык программирования, особенно когда стало известно, что его создавал Chris Lattner, знаменитый созданием компилятора LLVM.

Но лично для меня самым главным стало то, что Apple взялась решать некоторые проблемы Objective-C. И, мне кажется, успешно их решила, создав очень мощный инструмент для выражения высокоуровневых идей.

Как давно вы перешли на язык Swift и почему?

Я начал изучать Swift сразу после его появления год назад. Я начал эксперименты с небольшими кусками функциональности, затем перевел всю разработку основной логики приложения на Swift.

Для меня это был очень интересный эксперимент. Работа на другом языке программирования — это как рисование другими инструментами и в другом стиле.

Плюс к тому, мы видели развитие языка в режиме реального времени, например, группа разработчиков Swift обсуждала многие решения на специальных форумах. Пройти это вместе с другими людьми — уникальный опыт, и он стоил многих часов сражений с ошибками в средствах разработки.

Сейчас я вижу, что вещи из тех, которые были предложены обычными разработчиками на форумах, входят в синтаксис языка. Возможно, нам удалось совместно повлиять на эволюцию языка!

Какой у вас опыт программирования на Swift? Над какими проектами работали, и что удалось понять про него?

Приложение для Группы Компаний НЛМК, которое как раз находилось в стадии активной разработки год назад, в результате написано более чем на 50% на Swift. Его запуск в продуктив состоялся в декабре 2014 года.

У меня есть еще несколько тестовых проектов на Swift, но не приложения в Apple Store. Дело в том, что Apple очень активно дорабатывала средства разработки Swift год назад, так что с выходом каждой новой бета-версии надо было загрузить ее и адаптировать код. Заказчик пошел мне навстречу и согласился проводить тестирование на бета-версиях Xcode, но в Apple Store такие приложения выкладывать нельзя.

Даже сейчас мы часто видим крэшы и другие проблемы в средствах разработки. Это основная причина, по которой большинство компаний пока не рассматривает разработку проектов на Swift, но я надеюсь, что очень скоро их мнение изменится.

Кстати, новая бета-версия Xcode намного стабильнее.

Наверняка вы не согласны с тем, что Swift — очередной велосипед. Какие перспективы у Swift?

Помню, когда-то в 90-е годы в академической среде была хорошо известна концепция объектно-ориентированного программирования (ООП), но она не входила в mainstream с точки зрения ремесла: был C++, но люди писали также на C или BASIC. Но с появлением Java был пройден некоторый рубеж: любой разработчик, даже не пишущий на Java, в конце 90-х должен был хотя бы иметь представление об ООП.

Я не уверен, что Swift захватит мир, и даже что он будет настолько популярен как Java, но я надеюсь, что благодаря Swift мы тоже пройдем некоторый рубеж, по отношению к функциональному программированию. Когда мы будем в 2020 году обсуждать минимальный набор знаний разработчика, туда уже будут входить optionals, SequenceType, immutability, инструменты для обработки функций.

На конференции я расскажу об этом подробнее.

Для каких целей больше всего подходит Swift?

На практике разработка и тестирование инструментов разработки компанией Apple пока происходили в рамках разработки OSX- и iOS- приложений, поэтому пока что это основная область применения языка.

Но, опять возвращаясь к концепциям, которые, возможно, впервые придут в mainstream вместе со Swift, такие вещи как встроенные immutability – это парадигма, которая помогает разработке на многоядерных процессорах. Так что я ожидаю увидеть применение языка и в backend, на серверах.

Swift вроде бы задумывался как более безопасный язык в сравнении с Objective-C. Цель достигнута? Но зачем же тогда смешивать Objective-C и более безопасный Swift?​

Да, Swift позволяет нам писать более безопасный код, чем Objective-C, но часто бывает так, что «некрасивость» и «опасность» кода проистекают из дизайна интерфейса, с которым общается наш код. А этот интерфейс в случае с iOS был создан компанией Apple под Objective-C, и никто не будет его переписывать. Такие куски кода, или куски, которые в основном общаются с уже написанным на Objective-C/C++ кодом, может быть проще написать на Objective-C.

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

Кроме того, у меня были случаи, когда компилятор Swift крэшился, и мы возвращались к необходимости написать код на Objective-C. Так что дорога изучения Swift не была полностью ровной, но она все же ведет нас в интересное будущее!

Подписаться на новости

мы будем присылать подборки
самых интересных материалов, не очень часто

Добавить комментарий

Rhapsody выкупает SoundTracking и Exfm

Старейшее интернет-радио Rhapsody заново отвоевывает свою нишу. Компания покупает два крупных сервиса: Exfm и Schematic Labs вместе с сервисом SoundTracking. Проект обещает быть, как минимум, интересным. Тем более что незадолго...
Юрий Слинько / 07.08.2014 2521 0

Остаться в Крыму: Как живут и работают крымские разработчики после санкций

Два месяца назад Apple и Google заблокировали аккаунты своих разработчиков в Крыму. Мы решили выяснить, что стало с мобильной разработкой на полуострове после санкций. Работать стало сложнее, а легально —...
Юрий Слинько / 16.03.2015 2923 0

DevArt хакатон в Москве, 21-23 февраля, DI Telegraph, в рамках HackDay #30

Если расширить код до его творческих и технических пределов, то таким образом можно создавать прекрасные цифровые художественные инсталляции. Это называется DevArt. DevArt – это...
Алена Войнова / 11.02.2014 2192 0