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

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

06.10.2020     

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 Ответить
Оставьте свое сообщение

См. также

Нейросеть научили писать код на С и С++

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

Популярной нейросети GPT-2 нашли новое применение. Ее научили генерировать фрагменты кода на С и С++, и даже опытный разработчик не всегда отличит эти листинги от реальных.

05.03.2021    1084    user1015646    2       

Самые медленные языки программирования с динамической типизацией

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

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

03.03.2021    1469    SKravchenko    3       

Мэрия Москвы разработала мессенджер для замены Telegram и Skype

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

Российская компания ID Partner совместно с правительством Москвы создала приложение TDM Messenger. Согласно описанию, оно позволяет полностью заменить другие мессенджеры, в том числе Telegram и Skype.

02.03.2021    1960    VKuser24342747    8       

Совсем взрослый стал: Python исполнилось 30 лет

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

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

02.03.2021    1008    user1015646    1       

Энтузиасты создали для популярного эмулятора патч с поддержкой процессоров «Эльбрус»

Новость ИТ-новость Микроэлектроника Новости компаний

Свободный эмулятор QEMU получил неофициальную поддержку отечественной архитектуры процессоров «Эльбрус». В разработке реализовано около 80% набора инструкций «Эльбрус-8С».

01.03.2021    1960    VKuser24342747    0       

Российский разработчик создал неофициальную версию Clubhouse для Android

Новость Android ИТ-новость Мессенджеры Мобильные приложения

Бывший разработчик из «ВКонтакте» Григорий Клюшников выпустил приложение для Android, предоставляющее доступ к большинству функций Clubhouse. Официально соцсеть доступна только пользователям iOS.

26.02.2021    2277    VKuser24342747    0       

Масштабное обновление Trello: пять новых видов досок и интеграция с Google Docs

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

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

25.02.2021    4085    user1015646    0       

Видеоигра на базе нейросетевого генератора текстов стала бизнес-консультантом

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

Энтузиаст использовал возможности текстового квеста, генерирующего разнообразные миры при помощи нейросети GPT-3, чтобы получать советы по ведению бизнеса. Часть идей ИИ оказалась пригодной для использования.

25.02.2021    2296    VKuser24342747    1       

В ближайшие годы возрастет потребность в персонале центров обработки данных

Новость Дата-центры ИТ-новость Цифровая экономика

Согласно отчету Uptime Institute, количество сотрудников, необходимых для обеспечения работы ЦОД, вырастет с 2 млн. в 2019 году до 2,3 млн. в 2025 году.

24.02.2021    2219    SKravchenko    0       

Google кардинально изменит дизайн Android 12

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

Компания Google анонсировала глобальное обновление популярной операционной системы Android. Новая версия выйдет под номером 12. Говорят, что Android 12 назовут «Snow cone» – летний десерт из сладкого колотого льда.

24.02.2021    2651    mouse187    0       

Google представила новый сервис для поиска уязвимостей в открытом ПО

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

Компания Google запустила платформу с открытым исходным кодом OSV (Open Source Vulnerabilities). Она создана для поиска и закрытия уязвимостей в свободном ПО.

18.02.2021    1378    user1015646    0       

Отечественная компания представила сервер приложений Java EE

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

Российская компания Bellsoft представила отечественный аналог сервера Oracle и IBM для JavaEE. Раньше продукт на базе открытого кода был доступен только для некоторых клиентов организации.

17.02.2021    2424    VKuser24342747    4       

Rustоманы из Долины: Google, Microsoft, Huawei, Mozilla и AWS основали фонд поддержки языка программирования

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

Rust – перспективный язык, который широко применяется в разработке операционных систем и высоконагруженных веб-сервисов. Rust Foundation будет заниматься поддержкой и развитием языка.

16.02.2021    1667    user1015646    0       

В Microsoft Teams появилась платформа для общения и обучения

Новость Интернет ИТ-новость Мессенджеры Новости компаний

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

15.02.2021    3231    user1015646    0       

Google рассказала, как защищает Android от взломов

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

Google опубликовала информацию о том, как компания пытается улучшить безопасность Android, и какие шаги предпринимаются для борьбы с распространенными угрозами. Отчеты об уязвимостях играют в этом значительную роль.

12.02.2021    1972    SKravchenko    0       

Для регионов разработают приложение онлайн-записи на прием к врачам

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

О возможностях приложения рассказали в Минздраве и Минцифре.

10.02.2021    1981    Senator_I    2       

Google разработает новую мобильную ОС

Новость MobileOS Google ИТ-новость Мобильные приложения

Корпорация Google создаст мобильную операционную систему для повышения безопасности использования устройств. Проект запущен под рабочим названием microdroid.

09.02.2021    2221    user1015646    0       

Google закрывает собственную игровую студию Stadia

Новость Google Видеоигры ИТ-новость Новости компаний

1 февраля Google официально закрыл собственную студию разработки игр для проекта Stadia, чтобы сосредоточить внимание на технологиях, лежащих в основе платформы.

09.02.2021    1587    SKravchenko    0       

Google представила технологию для замены cookies

Новость Google Интернет ИТ-новость

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

09.02.2021    1322    user1015646    0       

Украинская команда FireWay одержала победу в хакатоне NASA Space Apps Challenge 2020

Новость ИТ-новость Стартапы

Украинская команда FireWay из Днепра стала победителем международного хакатона NASA Space Apps Challenge. Их изобретение было описано как «решение, которое демонстрирует наиболее инновационное использование технологии».

05.02.2021    2053    SKravchenko    2       

Китайцы разработали целых две альтернативы Flash

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

Китайцам пришлось разработать собственную технологию ReFla взамен Flash для предотвращения сбоев в работе систем. Также они выпустили доработанную версию Flash Player с кодом 34.0.0.92.

04.02.2021    2201    mouse187    4       

Популярные дистрибутивы Linux могут лишиться поддержки Chromium

Новость Linux Google Интернет ИТ-новость

Из дистрибутивов Arch Linux, Fedora, Debian, Slackware и openSUSE может исчезнуть поддержка браузеров на движке Chromium. Причина – жесткие правила Google, из-за которых возникли проблемы с синхронизацией данных.

03.02.2021    2483    user1015646    3       

Microsoft участвует в разработке цифрового паспорта вакцинации от Covid-19

Новость ИТ-новость Медицина

Крупнейшие корпорации из сектора здравоохранения и ИТ-гиганты, такие как Microsoft, Salesforce и другие, объединились для создания цифровых идентификационных карт, которые подтверждают статус вакцинации против Covid-19.

02.02.2021    1863    capitan    3       

Что нового в Chrome 88: проверка надежности паролей и поддержка профилей

Новость Google Интернет ИТ-новость

Компания Google представила новый релиз браузера Chrome и обновила движок Chromium. Теперь ПО будет предупреждать о небезопасных паролях, а пользователь сможет создать привязанный к учетной записи профиль для персонализации работы в сети.

01.02.2021    2315    user1015646    0       

280 символов для науки: Twitter откроет доступ ученым к архиву твитов

Новость ИТ-новость Соцсети

Twitter предоставит академическим исследователям социальных сетей бесплатный доступ почти ко всем твитам. Исключение площадка сделает только для заблокированных аккаунтов.

29.01.2021    1566    VKuser24342747    1