Новый язык Apple теперь полностью вырос и готов к выходу на другие платформы. Означает ли это, что у Swift есть будущее как универсального языка?
Apple обещала открыть исходный код Swift, и это было медленным, но теперь есть репозиторий GitHub, и он находится под лицензией Apache с исключением времени выполнения — т. Е. вам не нужно добавлять атрибуцию к коду, который компилируется в вашу программу.
Как блог Swift, который также является новым, наряду с Swift.org веб-сайт, поставьте его:
«Swift теперь с открытым исходным кодом!
Мы взволнованы этой новой главой в истории Свифта. После того, как Apple представила язык программирования Swift, он быстро стал одним из самых быстрорастущих языков в истории. Swift позволяет легко писать программное обеспечение, которое невероятно быстро и безопасно по дизайну. Теперь, когда Swift является открытым исходным кодом, вы можете помочь сделать лучший язык программирования общего назначения доступным повсюду.»
Это немного чересчур, но хорошо иметь Swift в качестве открытого языка. Также неясно, насколько открытым исходным кодом будет этот язык. В конце концов, это реализация с открытым исходным кодом, а не определение языка. Тем не менее, похоже, что будет возможно создавать реализации для других платформ, поскольку это, по-видимому, является одним из намерений Apple в области открытых источников:
«Одним из самых захватывающих аспектов разработки Swift в открытом режиме является знание того, что теперь он может быть портирован на широкий спектр платформ, устройств и вариантов использования.»
Уже есть порт Linux, и двоичные файлы Ubuntu можно загрузить. Учитывая очевидный энтузиазм в отношении языка, другие последуют за ним. Однако не ожидайте, что Swift будет использоваться для переноса приложений iOS на другие платформы, потому что необходимые библиотеки не были с открытым исходным кодом и, скорее всего, никогда не будут. Чтобы было ясно, Apple по-прежнему сохранит контроль над официальной версией Swift на базе iOS, и вам все равно придется платить, чтобы использовать ее и получать свои приложения в App Store.
Swift в Linux не зависит от каких-либо библиотек Objective C, и некоторые из них предназначены для таких вещей, как строки, и порт, по общему признанию, находится в стадии разработки. Например, на данный момент он работает только на x86_64.
Конечно, реальный вопрос заключается в том, будет ли версия Swift для Windows. Старший вице-президент Apple по разработке программного обеспечения Крейг Федериги был спрошен TWN, какова его должность:
Мы, безусловно, открыты для сообщества, создающего порт Windows, и для этого есть хорошая основа, поскольку среды LLVM и Clang, которые являются основой для создания и компиляции Swift, были перенесены в Windows.
Мы полностью поддерживаем сообщество, занимающееся этим портом. С точки зрения того, чтобы мы начали проект [с открытым исходным кодом], мы хотели сосредоточить нашу энергию на наших платформах и Linux для начала.
Язык Swift организован как набор проектов, каждый из которых имеет свои собственные репозитории:
Инструмент командной строки компилятора Swift
Стандартная библиотека, входящая в состав языка
Основные библиотеки, обеспечивающие функциональность более высокого уровня
Отладчик LLDB, который включает в себя Swift REPL
Менеджер пакетов Swift для распространения и создания исходного кода Swift
Вы можете отправлять запросы на вытягивание или форк, чтобы создать свой собственный проект.
Означает ли это, что Swift вышел за пределы собственных границ Apple?
Да, и он может стать языком общего назначения, таким же, как C++ или JavaScript.
Программистам, которые отказались бы использовать его, потому что его будущее было связано с Apple, больше не нужно беспокоиться. Однако, как язык общего назначения, неясно, имеет ли он преимущество. В качестве альтернативы Objective-C в создании приложений для iOS это огромный шаг вперед, хотя есть много программистов Objective-C, которые будут спорить с этим мнением. В этой нише его будущее несомненно, но действительно ли оно имеет какую-то привлекательность, когда все, что вы можете создать, — это приложения командной строки? Как язык, он также не имеет функций, которых нет в других языках с большой базой пользователей. Это похоже на плохо продуманный C# с несколькими дополнениями и упущениями. Как новый язык, он не предлагает ничего нового.
Короче говоря, в качестве альтернативы Objective-C он работает как альтернатива другим языкам, которых у него нет.
Нам придется подождать и посмотреть, куда приведет Swift с открытым исходным кодом.