Apple официально представила обновление языка программирования Swift 6.0. В блоге компания делает упор на то, что Swift может выйти за рамки привычного использования в качестве языка для iOS и найти применение в других областях.
Зимой 2024 года инженер-менеджер команды разработчиков языка программирования Swift Холли Борла (Holly Borla) рассказала, что вместо версии 5.11 выйдет 6.0. Тогда компания ещё не сообщала дату релиза, но разработчики на тот момент завершили реализацию основных возможностей мажорной версии.
Что нового в Swift 6:
В релиз вошла система Embedded Swift, позволяющая разрабатывать приложения и прошивки для микроконтроллеров и IoT-устройств. Реализована сборка проектов под ARM и RISC-V. Пока это экспериментальное решение, которое компания тестирует.
Включили поддержку 128-битных целых чисел, как знаковых, так и беззнаковых. Доступны на всех платформах Swift.
Добавили библиотеку Swift Testing, которая облегчает разработку и запуск тестов. Отмечается, что инструмент разработали с нуля и специально для Swift. Благодаря поддержке параметризации можно использовать библиотеку в больших проектах.
@Test(«Continents mentioned in videos», arguments: [ «A Beach», «By the Lake», «Camping in the Woods» ]) func mentionedContinents(videoName: String) async throws { let videoLibrary = try await VideoLibrary() let video = try #require(await videoLibrary.video(named: videoName)) #expect(video.mentionedContinents.count <= 3) }
Библиотеку Foundation унифицировали для Linux, macOS и Windows, чтобы её можно было использовать в переносимых приложениях. Для этого пришлось полностью переписать реализацию JSONDecoder, URL, Calendar, FileManager, ProcessInfo и других типов. Также на всех платформах теперь доступны такие API, как FormatStyle, ParseStrategy, Predicate, и JSON5.
Добавили типизированные исключения, с помощью которых на этапе определения функции можно указать тип возвращаемой ошибки.
В релиз включили библиотеку Synchronization для работы с параллельным выполнением кода.
Расширили совместимость с C++, которую добавили в Swift 5.9.
Добавили возможность собирать полностью статические связываемые исполняемые файлы для Linux без сторонних зависимостей.
В Swift 6 появилась поддержка Debian, Fedora и Ubuntu 24.04.
Источник: habr.com