tgoop.com/ios_broadcast/2392
Last Update:
Пока все радуются iOS 26, давайте вспомним, что же нам стало доступно вместе с релизом Swift 6.2.
Approachable Concurrency
Swift 6.2 упрощает параллельное программирование:@MainActor
async
функции: можно писать асинхронный код без доступа к мутации состояния@concurrent
Safe Systems Programming
Новые фичи по написанию низкоуровневого быстрого кода безопасно:unsafe pointer
Swift расширение для VS Code официально в релизе:
Точный контроль над "ворнингами"
Предупреждениями компилятора теперь можно гранулярно управлять через установку diagnostic group
идентифицируемой именем. Например, теперь можно выставить "считать все предупреждения ошибками" кроме предупреждений о депрекейтах API.
.target(
name: "MyLibrary",
swiftSettings: [
.treatAllWarnings(as: .error),
.treatWarning("DeprecatedDeclaration", as: .warning),
]
)
Улучшили дебаг многопоточки:
Подпроцесс
В Swift 6.2 представлен новый пакет
Subprocess
с оптимизированным API для запуска внешних процессов и управления ими. import Subprocess
let swiftPath = FilePath("/usr/bin/swift")
let result = try await run(
.path(swiftPath),
arguments: ["--version"]
)
let swiftVersion = result.standardOutput
Foundation
Библиотека Foundation включает современный NotificationCenter API, который использует конкретные типы уведомлений вместо строк и нетипизированных словарей. Типы уведомлений также указывают, отправляются ли они синхронно на основной актор или асинхронно через соответствие
MainActorMessage
или AsyncMessage
.Observation
Swift 6.2 позволяет транслировать изменения состояния наблюдаемых типов в рамках транзакций с помощью нового типа асинхронной последовательности
Observations
. Это позволяет избежать избыточных обновлений пользовательского интерфейса, повышает производительность и гарантирует, что ваш код будет реагировать на согласованный снапшот изменения.Тестирование
Новые API для повышения выразительности тестов и результатов тестирования.
-@Test("square() returns x * x")
-func squareIsXTimesX() {
+@Test func `square() returns x * x`() {
#expect(square(4) == 4 * 4)
}
Поддержка WebAssembly
Swift 6.2 получил поддержку WebAssembly, также известной как Wasm. WebAssembly — это платформа виртуальных машин, ориентированная на переносимость, безопасность и высокую производительность. Вы можете создавать как клиентские, так и серверные приложения для Wasm и развертывать их в браузере или на других платформах. Узнайте больше о Wasm в обзоре поддержки WebAssembly в Swift.
Что из этого вы больше всего ждали?