Apple открыла исходный код Swift System, выпустила Swift 5.3 и сделала язык доступным на Windows
Apple открыла исходный код Swift System, выпустила Swift 5.3 и сделала язык доступным на Windows

25 сентября Apple открыла исходный код библиотеки Swift System под лицензией Apache 2.0. Незадолго до этого компания выпустила релиз Swift 5.3 Linux, macOS и Windows 10.
Swift System
Apple опубликовала системную библиотеку Swift System в виде открытого исходного кода и расширила ее, включив поддержку Linux. Команда разработчиков впервые анонсировала библиотеку для своих систем в июне. По заявлению компании, цель проекта – предоставить идиоматические интерфейсы для системных вызовов. Apple распространяет библиотеку под лицензией Apache 2.0.
Swift позволяет использовать системные вызовы поддерживаемых операционных систем. Системные вызовы в основном написаны на C и существуют десятилетиями. Однако, их использование из Swift «чревато ошибками».
Дескрипторы файлов, параметры, команды, ошибки и другие значения – все это числовые значения типа Int32. Значения ошибок требуют проверки и сравнения с глобальными переменными. Кроме того, системный вызов может быть прерван сигналом. Этот сигнал, в свою очередь, должен проверяться циклом вокруг фактического вызова. Такие семантические правила не выводятся из сигнатуры API, что затрудняет правильное использование вызовов.
Swift System решает эту и другие проблемы за счет абстракции системных вызовов. Команда использует ключевое слово multiplatform вместо кроссплатформенности. Это означает, что библиотека предлагает не единый API для всех систем, а скорее адаптированные интерфейсы для каждой отдельной системы.
В настоящее время проект поддерживает только небольшое количество вызовов, но команда все еще хочет его расширить. В будущем будет добавлена поддержка Windows, в дополнение к поддержке операционных систем Apple и Linux.
Swift 5.3
16 сентября был официально выпущен Swift 5.3. Релиз предлагает новые языковые функции, лучший опыт разработки и улучшенную производительность. Он включает ряд новых функций на уровне синтаксиса, поддержку предложений с несколькими шаблонами «catch», повышенную доступность для неявных self и многое другое.
Swift 5.3 сделала обработку ошибок «do try/catch» удобной, позволив указывать больше шаблонов с помощью одного «catch» предложения.
Еще одна функция – это «enum» типы, которые теперь могут синтезировать соответствие «Comparable». Это означает, что можно будет использовать любые операторы «enum» для сравнения их значений в соответствии с порядком объявления.
В числе прочих новинок стоит отметить появление инициализатора для типа String, расширение применения выражения «where», изменение семантики didSet, добавление типа Float16, атомарные операции с памятью.
Swift 5.3 оптимизирует размер двоичного кода и использование памяти во время выполнения. Согласно измерениям Apple, это может привести к уменьшению размера кода на 30-40%. По словам Apple, приложение, написанное на Swift, будет использовать меньше памяти, чем эквивалентный код Objective-C.
Swift 5.3 также должен быть быстрее при инкрементной компиляции за счет исключения дублирования работы с файлами и лучшего определения неизмененного кода. Компилятор Swift теперь работает быстрее с типами, использующими большое количество свойств и функций, импортированных из другой библиотеки, и должен меньше зависеть от порядка объявления или вложенности.
Swift начинает работать на Windows
В рамках проекта Swift Project было объявлено, что начальная версия Swift теперь доступна для Windows 10. Все инструменты, такие как компилятор и основные библиотеки, доступны для разработчиков прямо сейчас.
Перенос Swift на Windows – это не просто перенос компилятора, а скорее обеспечение доступности всей экосистемы на платформе. Сюда входят компилятор, стандартная библиотека и основные библиотеки. Все это позволяет разработчикам легко писать мощные приложения, не беспокоясь о многих деталях базовой системы.
С помощью библиотек и гибкой совместимости с языком C можно разрабатывать приложения для Windows исключительно на Swift, используя преимущества существующего корпуса библиотек на платформах Windows.
Участие Readdle
Readdle – уже давно является разработчиком Mac и iOS. Компания экспериментировала со Swift для Windows более года в рамках работы по внедрению на платформу своего почтового клиента Spark.
Несмотря на то, что некоторые функции еще не готовы, Swift для Windows подошел Readdle. Вся бизнес-логика Spark размещена в отдельном модуле Core. Это позволяет использовать любую платформу пользовательского интерфейса на целевой платформе: AppKit на macOS, UIKit на iOS, собственный UI Toolkit на Android.
В публикации Readdle подробно рассматриваются различные инструменты, которые он использовал при создании Swift в Windows, включая ряд доступных модулей. Также рассматриваются такие темы, как система сборки и взаимодействие Swift с Node.js.
Изначально Swift был анонсирован Apple на WWDC 2014 как современный язык, который в конечном итоге заменит Objective-C в качестве основного языка для создания приложений Apple. С тех пор Apple сделала Swift проектом с открытым исходным кодом.
Напомним, что в рейтинге языков программирования IEEE Spectrum за 2020 год Swift занял 9 место среди самых популярных языков.
Источник: https://infostart.ru/journal/news/tekhnologii/apple-otkryla-iskhodnyy-kod-swift-system-vypustila-swift-5-3-i-sdelala-yazyk-dostupnym-na-windows_1305426/
См. также
В GitHub появилась нативная поддержка математических выражений в md-файлах
26.05.2022 480 VKuser24342747 0
Минцифры запустит программу вознаграждения за поиск багов в госсистемах
25.05.2022 846 VKuser24342747 2
Банк России добавил поддержку NFC-технологии в Систему быстрых платежей
20.05.2022 3636 VKuser24342747 4
GitHub до конца 2023 года полностью перейдет на двухфакторную аутентификацию
12.05.2022 4402 VKuser24342747 0
В России создан алгоритм принятия решений о необходимости обновления критичного ПО
21.04.2022 2550 VKuser24342747 0
ИТ-отрасль представила Минцифры список приоритетных направлений поддержки
15.04.2022 3009 VKuser24342747 1
В России разработали открытую операционную систему «Фантом» на собственном микроядре
02.02.2022 6467 user1015646 2
Let's Encrypt отозвал 2 миллиона сертификатов из-за нарушений в коде
02.02.2022 6281 VKuser24342747 0
Google представила новый сервис на замену непопулярной технологии FLoC
01.02.2022 7483 VKuser24342747 0
Samsung разработала модуль биометрической аутентификации для смарт-карт
28.01.2022 7609 VKuser24342747 0
Apple отложила требование об обязательном удалении аккаунтов в приложениях
27.01.2022 11259 VKuser24342747 0
Минцифры разработает единый стандарт для умных многоквартирных домов
24.01.2022 6817 VKuser24342747 0
Visa разработала способ превратить почти любое устройство в POS-терминал
21.01.2022 8556 VKuser24342747 0