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

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

06.10.2020      21023

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/
Автор:
Сергей Кравченко Обозреватель


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

См. также

VK совместно с Минцифры запустили магазин приложений RuStore

Новость Импортозамещение ИТ-новость Мобильные приложения

Компания начала бета-тестирование официального магазина приложений для Android. В маркетплейсе уже сейчас доступно более ста программ, часть из которых недоступны в Google Play.

вчера в 15:12    815    VKuser24342747    2       

В GitHub появилась нативная поддержка математических выражений в md-файлах

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

Команда GitHub рассказала о новой функции, которая позволяет записывать математические формулы в Markdown. Разработчики впервые попросили добавить эту возможность восемь лет назад.

26.05.2022    480    VKuser24342747    0       

Национальный удостоверяющий центр наладил выпуск TLS-сертификатов

Новость Безопасность Импортозамещение Интернет ИТ-новость

Национальный удостоверяющий центр (НУЦ) предложил владельцам сайтов получить сертификаты безопасности с поддержкой технологии прозрачности. Они работают в российских браузерах.

25.05.2022    619    VKuser24342747    1       

Минцифры запустит программу вознаграждения за поиск багов в госсистемах

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

Минцифры анонсировало программу Bug Bounty, в которой смогут принять участие российские хакеры. Специалисты по безопасности будут тестировать государственные системы.

25.05.2022    846    VKuser24342747    2       

Банк России добавил поддержку NFC-технологии в Систему быстрых платежей

Новость ИТ-новость Мобильные приложения Цифровая экономика

В Системе быстрых платежей (СБП) появилась возможность проводить бесконтактную оплату при помощи NFC-чипов смартфонов. Функция будет доступна при использовании приложения «СБПэй».

20.05.2022    3636    VKuser24342747    4       

В России начал работу отечественный магазин приложений NashStore

Новость Импортозамещение ИТ-новость Мобильные приложения

Приложение-маркетплейс для Android стало доступно для скачивания на официальном сайте. Магазин позиционируется как альтернатива Google Play.

17.05.2022    2294    VKuser24342747    9       

В России создадут единую систему хранения государственных данных

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

Минцифры приступает к разработке ГосДата.хаба, который будет хранить в себе информацию от всех государственных учреждений. В 2024 году проект должен быть полностью реализован, а в 2023 году система будет запущена в опытную эксплуатацию.

16.05.2022    2213    Senator_I    3       

GitHub до конца 2023 года полностью перейдет на двухфакторную аутентификацию

Новость GitHub Безопасность ИТ-новость

Представители ИТ-хостинга GitHub сообщили, что к концу 2023 года активные разработчики, зарегистрированные на платформе, должны подключить функцию двухфакторной аутентификации.

12.05.2022    4402    VKuser24342747    0       

В России создан алгоритм принятия решений о необходимости обновления критичного ПО

Новость Безопасность ИТ-новость

Центр кибербезопасности РФ подготовил рекомендации по обновлению программ, критически важных для бизнеса. Ведомство рассказало, в каких случаях следует избегать автоматического обновления ПО.

21.04.2022    2550    VKuser24342747    0       

ИТ-отрасль представила Минцифры список приоритетных направлений поддержки

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

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

15.04.2022    3009    VKuser24342747    1       

Для TLS 1.3 реализована поддержка российских стандартов шифрования

Новость Безопасность Интернет ИТ-новость

Реализация протокола TLS 1.3 с использованием российских защитных алгоритмов разработана компаниями «Криптонит» и «Криптоком». Применять его можно как расширение для OpenSSL 1.1.1.

16.03.2022    8508    VKuser24342747    1       

В GitHub добавили поддержку диаграмм

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

В репозиториях сервиса GitHub теперь можно использовать диаграммы Mermaid. Этот формат гипертекстовой разметки легко освоить, чтобы создавать наглядные и аккуратные схемы. Такие изображения будут понятнее ASCII-диаграмм из отдельных символов.

24.02.2022    9896    user1015646    0       

Финализирован список новых возможностей Java 18

Новость ИТ-новость Языки программирования

Намеченный на 22 марта 2022 года релиз Java 18 находится во второй фазе стабилизации. В новой версии языка появится несколько возможностей в виде превью и инкубаторов для тестирования.

14.02.2022    8943    VKuser24342747    2       

В России разработали открытую операционную систему «Фантом» на собственном микроядре

Новость ОС Импортозамещение ИТ-новость

Подавляющее большинство операционных систем, над которыми работают российские компании, создаются на ядре GNU/Linux. Возможно, у них наконец-то появится конкурент: DZ Systems представила ОС «Фантом», микроядро которой написано «с нуля».

02.02.2022    6467    user1015646    2       

Let's Encrypt отозвал 2 миллиона сертификатов из-за нарушений в коде

Новость Безопасность Интернет ИТ-новость

Поставщик HTTPS-сертификатов сообщил об обнаружении выпущенных ненадлежащим образом электронных документов. Ошибка произошла из-за исправлений в программном обеспечении.

02.02.2022    6281    VKuser24342747    0       

Разработчики представили три новые версии Python

Новость ИТ-новость Языки программирования

Python – язык с очень низким порогом входа. Вместе с тем за простоту синтаксиса приходится платить производительностью. В начале года вышло три новые версии языка, которые призваны сохранить его простоту, но вместе с тем ускорить работу программ.

01.02.2022    15492    user1015646    11       

Google представила новый сервис на замену непопулярной технологии FLoC

Новость Безопасность Интернет ИТ-новость

Google продолжает попытки создать альтернативу файлам cookies при таргетировании рекламы. После критики технологии FLoC компания разработала другой сервис, который будет выяснять любимые темы пользователя.

01.02.2022    7483    VKuser24342747    0       

Ученые добились рекордной точности вычислений на квантовом компьютере

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

На квантовые компьютеры возлагают большие надежды. Ученые из Австралии, Голландии и Японии независимо друг от друга добилась на практике точности квантовых вычислений выше 99%.

31.01.2022    7837    user1015646    0       

Samsung разработала модуль биометрической аутентификации для смарт-карт

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

Samsung представила чип биометрической защиты, который может быть установлен в банковские карты. Разработка объединяет в себе различные элементы безопасности, ранее наносимые на саму карту.

28.01.2022    7609    VKuser24342747    0       

Apple отложила требование об обязательном удалении аккаунтов в приложениях

Новость Безопасность ИТ-новость Мобильные приложения Новости компаний

Apple в очередной раз перенесла сроки вступления в силу новых правил App Store. В них прописано новое требование для всех разработчиков: добавить в приложение возможность удалять аккаунт.

27.01.2022    11259    VKuser24342747    0       

Google назвала пять трендов машинного обучения в 2021 году

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

Google провела исследование, в котором озвучила ключевые направления развития индустрии машинного обучения (МО) в 2021 году. Компания ожидает в ближайшие годы научных прорывов в отрасли.

27.01.2022    17061    VKuser24342747    0       

Исходный код модели Facebook XLS-R выложили в интернет

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

Одна из самых мощных многоязычных моделей распознавания речи XLS-R теперь доступна всем разработчикам. Facebook опубликовала исходный код решения на GitHub и Hugging Face.

27.01.2022    7427    user1015646    0       

Компания OPPO подготовила концепцию устройств без аккумуляторов

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

Китайский производитель смартфонов OPPO опубликовал доклад, в котором представил идею зарядки IoT-устройств от сигналов мобильных телефонов, Bluetooth и сетей Wi-Fi.

26.01.2022    5622    VKuser24342747    2       

Минцифры разработает единый стандарт для умных многоквартирных домов

Новость ИТ-новость Минкомсвязь Цифровая экономика

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

24.01.2022    6817    VKuser24342747    0       

Visa разработала способ превратить почти любое устройство в POS-терминал

Новость ИТ-новость Новости компаний Онлайн-торговля

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

21.01.2022    8556    VKuser24342747    0