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

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

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 место среди самых популярных языков.

Автор:
Обозреватель

См. также

Минцифры подготовило проект постановления по запуску платформы, на которой ИТ-специалисты могут пройти добровольное тестирование и подтвердить свою квалификацию.

11.12.2024    1047    user1915669    3       

2

Федеральная налоговая служба запустила интерактивный сервис, позволяющий формировать в машиночитаемом виде договоры, контракты, соглашения и спецификации. Чтобы создать документ и скачать получившийся файл, регистрация не требуется.

03.12.2024    836    user2114475    0       

2

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    993    user1915669    0       

3

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    1312    AnastasiaKl    0       

4

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    1264    user1915669    2       

2

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    898    user1915669    0       

2

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    1017    AnastasiaKl    0       

1

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    1104    user1915669    0       

1

Комментарии

Инфостарт бот
1. Darklight 06.10.20 17:01 Сейчас в теме
Идеологию "multiplatform" у языка Kotlin подсмотрели (там он так же называется)!

Вообще, что Objective-C, что Swift - языки не особо удобные (на мой взгляд) - и хороши только тем, что ими действительно более менее удобно можно писать под iOS - в остальных случаях - есть куда более красивые, надёжные и мощные языки (и даже более производительные, я не имею в виду C++).

Лично мне, например, для Windows и Linux больше Kortlin нравится (тут JVM, JavaScript, Native), для Android Korlin стал официальным языком; для iOS на нём тоже можно писать - но там пока всё достаточно сложно организовать - "спасибо" Apple

Ещё очень неплохой язык, на мой взгляд - C# - для мобильных ОС есть Xamarin платформа на нём.
Ну а для быстрого и надёжного Native кода лучше смотреть в строну Rust
Python - неплохой язык для скриптов, но как-то не цепляет меня он уж очень сильно....

Ну а самый плахой язык (после Objective-C) - это С++ - вот дрянь так дрнян - но пока без него глубоко не закопаться - когда нужен Native
SKravchenko; +1 Ответить

Оставьте свое сообщение