Swift предлагает нам интересное будущееЮрий Слинько / 23.06.2015 3749 0 |
Чуть больше года назад Apple попыталась совершить революцию в рядах Objective-C разработчиков, представив новый язык программирования Swift. Революция удалась, но полностью переходить на Swift пока никто не спешит.
О том, зачем нужен Swift мы поговорили с Ильей Никокошевым, спикером конференции MDDay Online для разработчиков, которая состоится уже завтра.
Илья Никокошев, iOS-разработчик студии «Гиперболоид»
Новости от Apple сами по себе могут «двигать рынок», чем бы они не занялись. Так что сообщество мобильных разработчиков сразу обратило внимание на новый язык программирования, особенно когда стало известно, что его создавал Chris Lattner, знаменитый созданием компилятора LLVM.
Но лично для меня самым главным стало то, что Apple взялась решать некоторые проблемы Objective-C. И, мне кажется, успешно их решила, создав очень мощный инструмент для выражения высокоуровневых идей.
Я начал изучать Swift сразу после его появления год назад. Я начал эксперименты с небольшими кусками функциональности, затем перевел всю разработку основной логики приложения на Swift.
Для меня это был очень интересный эксперимент. Работа на другом языке программирования — это как рисование другими инструментами и в другом стиле.
Плюс к тому, мы видели развитие языка в режиме реального времени, например, группа разработчиков Swift обсуждала многие решения на специальных форумах. Пройти это вместе с другими людьми — уникальный опыт, и он стоил многих часов сражений с ошибками в средствах разработки.
Сейчас я вижу, что вещи из тех, которые были предложены обычными разработчиками на форумах, входят в синтаксис языка. Возможно, нам удалось совместно повлиять на эволюцию языка!
Приложение для Группы Компаний НЛМК, которое как раз находилось в стадии активной разработки год назад, в результате написано более чем на 50% на Swift. Его запуск в продуктив состоялся в декабре 2014 года.
У меня есть еще несколько тестовых проектов на Swift, но не приложения в Apple Store. Дело в том, что Apple очень активно дорабатывала средства разработки Swift год назад, так что с выходом каждой новой бета-версии надо было загрузить ее и адаптировать код. Заказчик пошел мне навстречу и согласился проводить тестирование на бета-версиях Xcode, но в Apple Store такие приложения выкладывать нельзя.
Даже сейчас мы часто видим крэшы и другие проблемы в средствах разработки. Это основная причина, по которой большинство компаний пока не рассматривает разработку проектов на Swift, но я надеюсь, что очень скоро их мнение изменится.
Кстати, новая бета-версия Xcode намного стабильнее.
Помню, когда-то в 90-е годы в академической среде была хорошо известна концепция объектно-ориентированного программирования (ООП), но она не входила в mainstream с точки зрения ремесла: был C++, но люди писали также на C или BASIC. Но с появлением Java был пройден некоторый рубеж: любой разработчик, даже не пишущий на Java, в конце 90-х должен был хотя бы иметь представление об ООП.
Я не уверен, что Swift захватит мир, и даже что он будет настолько популярен как Java, но я надеюсь, что благодаря Swift мы тоже пройдем некоторый рубеж, по отношению к функциональному программированию. Когда мы будем в 2020 году обсуждать минимальный набор знаний разработчика, туда уже будут входить optionals, SequenceType, immutability, инструменты для обработки функций.
На конференции я расскажу об этом подробнее.
На практике разработка и тестирование инструментов разработки компанией Apple пока происходили в рамках разработки OSX- и iOS- приложений, поэтому пока что это основная область применения языка.
Но, опять возвращаясь к концепциям, которые, возможно, впервые придут в mainstream вместе со Swift, такие вещи как встроенные immutability – это парадигма, которая помогает разработке на многоядерных процессорах. Так что я ожидаю увидеть применение языка и в backend, на серверах.
Да, Swift позволяет нам писать более безопасный код, чем Objective-C, но часто бывает так, что «некрасивость» и «опасность» кода проистекают из дизайна интерфейса, с которым общается наш код. А этот интерфейс в случае с iOS был создан компанией Apple под Objective-C, и никто не будет его переписывать. Такие куски кода, или куски, которые в основном общаются с уже написанным на Objective-C/C++ кодом, может быть проще написать на Objective-C.
Здесь Apple пошла очень правильным путем — мы можем взять существующий проект на Objective-C и добавить в него Swift, нет никакой необходимости выкидывать работающий код.
Кроме того, у меня были случаи, когда компилятор Swift крэшился, и мы возвращались к необходимости написать код на Objective-C. Так что дорога изучения Swift не была полностью ровной, но она все же ведет нас в интересное будущее!
Подписаться на новости
мы будем присылать подборки
самых интересных материалов, не очень часто
Добавить комментарий