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

06.10.2020      23982

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


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


См. также

Новость ИТ-Новость

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

01.11.2024    671    user1915669    0       

2

Новость ИТ-Новость

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

23.10.2024    898    AnastasiaKl    0       

3

Новость ИТ-компания ИТ-Новость

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

11.09.2024    946    user1915669    2       

2

Новость Искусственный интеллект ИТ-Новость

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

23.07.2024    600    user1915669    0       

2

Новость Дата-центры Искусственный интеллект ИТ-Новость

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

18.07.2024    722    AnastasiaKl    0       

1

Новость ИТ-Новость

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

17.07.2024    802    user1915669    0       

1

Новость Законодательство ИТ-Новость

Депутаты Госдумы работают над законопроектом по ужесточению контроля за электросамокатами. Среди мер: обязательная регистрация СИМ (средств индивидуальной мобильности) и разработка системы отслеживания их перемещений.

10.07.2024    770    AnastasiaKl    2       

1

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    1649    AnastasiaKl    3       

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 33 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 Ответить
Оставьте свое сообщение