Когда Apple представила свой язык Swift, не было особого смысла интересоваться им, если только вы не были программистом iOS. Теперь, когда Apple пообещала открыть исходный код нового Swift 2.0, ситуация изменилась. Что в Swift для всех нас?
Раньше разработка для iOS велась на Objective C, объектно-ориентированной версии C от Apple. Objective C — язык, который кажется странным большинству программистов из-за его странного синтаксиса back to front. Однако Objective C уже некоторое время является открытым исходным кодом, и если вы хотите использовать его под Linux, то можете. Это не означает, что Apple с энтузиазмом открыла исходный код Objective C — она сделала все возможное, чтобы избежать этого и усложнить задачу. В частности, он выпустил не библиотеки времени выполнения, а только компилятор, что потребовало от сообщества разработчиков ПО с открытым исходным кодом создавать свои собственные среды выполнения.
Когда Swift был представлен как более современный язык для написания приложений OSX и iOS, вопрос был в том, будет ли он с открытым исходным кодом?
В этом году на WWDC Apple объявила, что будет использовать Swift 2 с открытым исходным кодом в соответствии с разрешительной лицензией, одобренной OSI. Компилятор Linux будет добавлен к компиляторам iOS и OSX до того, как в этом году все компиляторы и библиотеки станут открытыми. Нет никакого представления о компиляторе для Windows или Android, но с открытым исходным кодом, скорее всего, со временем будет по одному для каждой популярной платформы. Компилятор основан на LLVM и поэтому по своей сути является переносимым.
В блоге Swift говорится:
Исходный код Swift будет выпущен под разрешительной лицензией, одобренной OSI.
Вклады сообщества будут приниматься — и поощряться.
При запуске мы намерены добавить порты для OS X, iOS и Linux.
Исходный код будет включать компилятор Swift и стандартную библиотеку.
Мы думаем, что для Swift было бы замечательно быть на всех ваших любимых платформах.
Swift — это язык, подобный C # — строго типизированный и объектно-ориентированный. Версия 2.0, анонсированная на WWDC, представляет новые функции, такие как улучшенная модель обработки ошибок и более быстрый интерфейс с существующими SDK, которые в основном написаны на Objective C.
Так что, откажемся ли мы от наших любимых языков и начнем использовать Swift?
Нет, конечно нет. Как язык, Swift не особенно инновационен, и вы можете найти большинство его функций на C #, а альтернативы, такие как Python и Ruby, столь же богаты, если не больше, с точки зрения языковых конструкций. Единственное преимущество Swift в том, что люди используют его для написания приложений для OSX и iOS. Идея доступности Swift в других системах с большей вероятностью побудит людей переносить свои существующие приложения на эти новые платформы — при условии, что проблемы с пользовательским интерфейсом и другими библиотеками, специфичными для устройства, могут быть решены.
Можем ли мы увидеть приложения Apple на Windows и Android?
Возможно.
Microsoft уже объявила, что делает возможным перенос приложений iOS Objective C на Windows Phone, а наличие Swift с открытым исходным кодом позволяет реализовать это в будущих приложениях.
Все это заставляет задуматься — «почему?»
В частности, почему Apple пообещала открыть исходный код Swift с разрешительной лицензией, которая позволяет таким компаниям, как Microsoft, Samsung и даже Google, использовать базу кода Swift и внедрять ее в коммерческие продукты?