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

См. также

Полностью цифровые медкарты: первые впечатления от эксперимента

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

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

сегодня в 13:30    2470    VKuser24342747    2       

Минцифры начнет подготовку кадров для цифровой экономики

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

Минцифры совместно с «Университетом Иннополис» объединила сотни российских учебных заведений в консорциум, который подготовит кадры для цифровой экономики.

сегодня в 11:37    2521    VKuser24342747    2       

GitHub начал поддерживать использование ключей безопасности SSH

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

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

сегодня в 09:59    2736    VKuser24342747    0       

Топ языков программирования с самым большим сообществом разработчиков

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

Аналитики британской фирмы SlashData, изучающей сообщества разработчиков, выпустили ежегодный отчёт State of the Developer Nation, в котором описывают аудиторию 14 популярных языков программирования.

07.05.2021    2476    SKravchenko    7       

Кроссплатформенный эмулятор запустил старые Windows-программы в браузере

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

Разработан бесплатный эмулятор для запуска классических приложений Windows на большинстве популярных операционных систем. Программа также доступна в качестве веб-версии с ограниченным числом приложений.

05.05.2021    3002    VKuser24342747    0       

Apple обязала разработчиков использовать новый фреймворк AppTrackingTransparency

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

Компания Apple выпустила серию обновлений для разработчиков приложений. Требования, связанные с переходом на iOS 14.5, предполагают использование фреймворка AppTrackingTransparency для повышения прозрачности сбора пользовательских данных.

05.05.2021    1826    user1015646    0       

Теперь в Docker и в Linux: расширилась поддержка процессоров Apple M1

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

Ядро Linux получило начальную поддержку процессоров M1 производства Apple. Инструмент для развертывания и работы с контейнерами Docker также научился работать с ними.

04.05.2021    2944    user1015646    0       

Ctrl+C, Ctrl+V: эксперты подсчитали, насколько часто разработчики копируют чужой код

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

Популярный форум для разработчиков Stack Overflow в течение двух недель собирал статистику нажатий Ctrl+C или Command+C при копировании кода и других ответов. Но то, что задумывалось как первоапрельская шутка, стало в итоге серьёзным исследованием.

04.05.2021    1888    user1015646    0       

Олдскульный Yayagram: разработчик создал для бабушки гаджет для общения в Telegram

Новость ИТ-новость Мессенджеры

Когда интернет еще не изобрели, абонентов соединяли телефонистки, переключая кабели в нужные гнезда. Разработчик Мануэль Лусио Далло вдохновился этим примером и создал для своей 96-летней бабушки гаджет для общения с родными в Telegram.

30.04.2021    3921    user1015646    3       

Квантовая сеть между Москвой и Петербургом заработает во втором квартале 2021 года

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

«Транстелеком», дочерняя компания РЖД, завершила строительство квантовой сети между Москвой и Санкт-Петербургом. После запуска проект можно будет использовать для защищенного обмена данными.

30.04.2021    3027    VKuser24342747    0       

Chrome 90 позволит делиться ссылками на фрагмент текста

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

Google представила новую функцию для Chrome 90, которая позволит создавать ссылку на выделенную часть текста на странице в браузере.

30.04.2021    2132    SKravchenko    2       

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

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

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

28.04.2021    2922    VKuser24342747    1       

Ubuntu 21.04 обеспечит интегрированную поддержку Microsoft SQL Server и Active Directory

Новость Ubuntu MS SQL ИТ-новость

Компания Canonical представила Ubuntu 21.04, которая получила название «Hirsute Hippo». Релиз содержит интеграцию с Microsoft Active Directory, SDK для разработки приложений Flutter и поддерживает локальную работу Microsoft SQL Server.

28.04.2021    3747    capitan    1       

Доступна тестовая версия дистрибутива Linux, внешне похожего на Windows 10X

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

Команда разработчиков операционной системы Zorin OS представила бета-версию Zorin OS 16. Ирландский дистрибутив Linux объединяет Flatpak, Snap Store и репозиторий Ubuntu. Он имитирует внешний вид Windows 10X, сохраняя при этом функциональность Linux.

27.04.2021    4193    SKravchenko    1       

«Яндекс» представил веб-приложение для работы с текстом и таблицами

Новость ИТ-новость Новости компаний Облачные технологии Яндекс

«Яндекс» запустил сервис «Документы» для создания и редактирования текстовых файлов, таблиц и презентаций в облаке. Услуга входит в состав набора офисных решений «Яндекс 360».

27.04.2021    5085    VKuser24342747    2       

Искусственный интеллект научился находить проблемы в коде

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

Исследователи из МТИ разработали систему глубокого машинного обучения для поиска проблем в коде ПО. Она станет основой инструментов автоматического анализа, которые помогут найти и устранить слабые места в IDE для создания программ.

27.04.2021    3887    user1015646    3       

Microsoft разрешит сторонние платежные системы в своем магазине

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

Microsoft готовит перезапуск собственного магазина приложений Microsoft Store. Релиз будет представлен вместе со следующим крупным обновлением Windows и сделает требования для программ в маркетплейсе мягче.

26.04.2021    2162    VKuser24342747    0       

В Windows 10 появилась поддержка Linux-приложений с графическим интерфейсом

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

Microsoft добавит возможность запускать в Windows 10 приложения для Linux с графическим интерфейсом. Опробовать новую функцию можно уже сейчас, используя тестовую сборку ОС.

26.04.2021    4710    VKuser24342747    2       

Linux Shell научился превращать естественный язык в команды

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

Энтузиаст обучил нейросеть OpenAI распознавать вводимые пользователем фразы в Linux Shell и превращать их в bash-команды. Похожее расширение также появилось и для игрового движка Unity3D.

23.04.2021    3355    VKuser24342747    0       

Visual Studio 2022 получит возможность использовать более 4 ГБ памяти

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

Microsoft рассказала о главных обновлениях в новой Visual Studio 2022. Опробовать предварительную версию среду разработки от американского ИТ-гиганта можно будет уже в этом году.

23.04.2021    2537    VKuser24342747    3       

Да здравствует Logica: Google представил новый язык программирования

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

Компания Google разработала новый язык для логического программирования – Logica. В его основе – наработки запущенного ранее проекта Yedalog и языка Datalog для программирования декларативной логики.

21.04.2021    4344    user1015646    8       

Российские компании создадут космический дата-центр на орбите

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

Компании RuVDS и Orbital Express договорились принять участие в совместном проекте по запуску орбитального центра обработки данных. Сервер в открытый космос будет доставлен на отечественной ракете «Союз».

20.04.2021    2938    VKuser24342747    0       

Бизнес отделяет ИТ-структуры ради налоговых льгот

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

С 1 января 2021 года в РФ вступил в силу налоговый маневр, который обеспечивает льготы для ИТ-отрасли. Чтобы воспользоваться ими, крупные корпорации стали переформатировать свои ИТ-подразделения в отдельные компании.

20.04.2021    2007    user1015646    0       

Михаил Мишустин предложил создать стартап-школы при российских вузах

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

Премьер-министр Михаил Мишустин посетил Московский авиационный институт. Отвечая на вопрос одного из студентов, председатель правительства заявил о необходимости создания школ стартапов.

19.04.2021    2516    VKuser24342747    4       

В сервис для управления проектами Asana добавили русский язык

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

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

19.04.2021    2996    user1015646    0