18 апреля 2016
В Google рассматривают Swift как язык первого класса для Android
Константин Иванов
По материалам thenextweb.com
В то время как Swift становился открытым языком, представители трех крупнейших брендов, Google, Facebook и Uber обсуждали новый язык на встрече в Лондоне. Источники рассказали Next Web, что в Google рассматривают Swift как язык первого класса для Android, в то время как Facebook и Uber также предполагают более активно использовать Swift в своих операциях.
В настоящее время ОС Android поддерживает Java как язык первого класса, и, по словам источников, не предполагается, что Swift заменит Java, по крайней мере, вначале. Пока тянущееся судебное разбирательство с Oracle предоставляет основания для беспокойства, Google, как говорят, предполагает, что Swift имеет больший потенциал роста, чем Java.
Кроме того, Swift – еще и открытый язык, и это значит, что в Google могут приспособить его для Android, не меняя его собственной открытой мобильной структуры.
Получится ли у Google?
Созданный Apple в качестве замены Objective C, Swift быстро полюбился разработчикам как простой для написания программ язык, избавленный от загроможденности и неуклюжести параметров других языков. Он был представлен на WWDC 2014, получил большую поддержку со стороны IBM, а также ряд крупных приложений, таких как Lyft, Pixelmator и Vimeo, получили свои версии под iOS, переделанные на Swift.
Впрочем, Swift нельзя так просто взять и перенести на другую платформу. Конкретно Android потребуется время, чтобы создать среду выполнения Swift — и это только для начала.
Также Google придется адаптировать под Swift всю их библиотеку стандартов и обеспечить поддержку этого языка в API и SDK. Ряд низкоуровневых API на Android написаны на C++, к которому в настоящее время не может обращаться Swift. Их потребуется переписать.
Swift также не сможет обращаться к API более высокого уровня на Java, которые также нужно будет переписывать.
Использование Swift на Android, впрочем, нельзя назвать невозможным. В конце прошлого года разработчик Romain Goyet попробовал это сделать и добился определенного успеха. И несмотря на то, что проект был завершен до того, как Swift стал открытым, он, тем не менее, может послужить доказательством того, что такое возможно.
В проекте использовался Android NDK, который позволяет другим языкам свободно включаться в Android. При наличии открытого Swift и поддержки со стороны Google приложениям на Android этот набор утилит не потребуется.
В итоге Google нужно будет эффективно воспроизвести действия с Java — уже для Swift. При наличии у компании достаточной мотивации вполне возможно это сделать, не скомпрометировав принципа открытости и не затронув мимоходом интересов разработчиков.
Kotlin
Kotlin, который только развивает свой потенциал, также, по словам источников, обсуждается в качестве языка первого класса для Android.
Как и Swift, Kotlin – объектно-ориентированный язык, в котором упор делается на безопасности. Но в отличие от Swift, Kotlin работает с Android Studio, IDE Google для разработчиков под Android.
К сожалению, как узнали в Next Web, нынешняя позиция Google заключается в том, что Kotlin слишком медленный при компилировании.
Однако Kotlin считается языком, работающим «везде, где работает Java» и имеет «непрерывную» поддержку для проектов, объединяющих его и Java.
От Google потребуется значительно меньше усилий, чтобы использовать Kotlin для Android, но для разработчиков такой переход будет непростым.
Так когда случится переход на Swift?
Если вкратце, то не в ближайшее время. Потому что Android.
Но Swift быстро развивается. Ряд исследований показывает, что это самый быстро набирающий популярность язык программирования, а переход к открытости кода дал взрывной рост. По данным GitHub, это уже 11-й по популярности язык программирования. Спрос на программистов, пишущих на Swift, также растет взрывообразно, что сигнализирует всем компаниям, что по меньшей мере требуется изучать вопрос использования Swift в подробностях.
Переход Google на Swift будет весьма непростым и длительным процессом, поскольку это заставит переписать буквально каждый сервис Android, приложения для ОС и API. Компании Google также придется возглавить поддержку Swift для Android — которая до сих пор двигается вперед только благодаря тычкам и подталкиваниям наиболее способных разработчиков из комьюнити.
Однако Google уже начал вырываться из тисков принадлежащего Oracle языка Java. В настоящий момент компания использует Open JDK для Android вместо проприетарного Java API, а также весьма вероятно рассматривает возможность существования без Java вовсе. Переговоры в Лондоне называют предварительными; в Google пока нет необходимости отходить от Java. В то же время, это будет масштабным предприятием, Swift подразумевает быстроту и безопасность, а его программа развития показывает, что в будущем не составит большой проблемы использование на других платформах, особенно когда речь заходит о совмещении с С++.
Хотя Kotlin является альтернативой, этот язык находится в стадии становления, и у него нет такого нетерпеливого комьюнити, как у Swift. Компании Facebook и Uber столкнутся с такими же пугающими задачами, если решатся на самостоятельный переход на Swift, но вполне могут и должны будут подождать Google, которая подставит им свое плечо при переходе ОС Android. Если применение Swift станет массовым и повсеместным, то поддержка ОС Android станет встроенной.
Переход на Swift для любой из этих компаний имеет мало смысла без тотальной переработки всего, но может, это не так ужасно, как звучит. Сервисы наподобие Perfect показывают, что с сервисной стороны Swift полностью готов, и это, возможно, учтено инженерами Facebook, которые могут уже работать над этим решением.
Компания IBM также работает над тем, чтобы сделать Swift готовым к выполнению функций на стороне сервера.
Но не стоит ждать, что Google, Facebook или Uber объявят о каких-то планах по использованию Swift в ближайшее время. Facebook и Google в скором времени будут проводить конференции разработчиков, но нет никаких свидетельств, что на любой из них значительное внимание будет уделено Swift. Редакции The Next Web не удалось получить официальных комментариев от пресс-служб, хотя в Google особенно отметили, что судебная тяжба с Oracle – причина, по которой они не хотели бы выражать свое мнение по данному вопросу. Как хотите, так и понимайте.
Хотелось бы почитать сравнение Swift с Rust. Особенно по вопросам безопасности и совместимости с Плюсами. Интересно, а Google его рассматривал в качестве альтернативы? И если да, то почему отказался.
Rust и Swift
https://habrahabr.ru/post/280274/
Они наверное решили перейти на Swift из-за проблем с Oracle — https://tproger.ru/news/oracle-seeks-93-billion-for-googles-use-of-java-in-android/
А что скажет Apple?