Компания Apple сформировала рабочую группу для сопровождения поддержки платформы Android в инструментарии, связанном с языком программирования Swift, а также продвижении Swift в качестве языка для разработки мобильных приложений для Android. Android будет добавлен в число платформ, официально поддерживаемых в Swift.
Основные задачи, которая будет решать созданная рабочая группа:
- Улучшение и сопровождение поддержки Android в официальном инструментарии Swift, избавление от необходимости использования сторонних патчей для поддержки Android.
- Расширение возможностей базовых пакетов, таких как Foundation и Dispatch, для более качественной поддержки подходов, применяемых при разработке приложений для Android.
- Работа с группой, отвечающей за поддержку платформ в Swift, для официального определения уровней поддержки платформ и их постепенной реализации для Android.
- Определение диапазона поддерживаемых API Android и проведение работы по их интеграции со Swift.
- Разработка механизма непрерывной интеграции для проверки связанных с Android изменений в Swift.
- Разработка рекомендаций по организации взаимодействия между Swift и Android Java SDK, а также распространению Swift-библиотек для Android.
- Развитие инструментов для отладки Swift-приложений для Android.
- Содействие добавлению поддержки Android в различные пакеты на Swift, развиваемые сообществом.
Язык Swift сочетает лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти, контроля переполнения переменных и массивов, защитой от использования неинициализированных переменных и блокированием доступа к памяти после её освобождения, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщённое программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования.
Pеализация Swift построена с задействованием технологий проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, который в проведённых тестах демонстрирует производительность на 30% опережающую код на Objective-C. Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты. В поставку входит пакетный менеджер Swift Package Manager, предоставляющий инструменты для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.
Компилятор и инструментарий для языка Swift распространяется под лицензией Apache 2.0.