Новый стандарт Swift получил неожиданную функцию
В июне 2021 года на конференции WWDC компания Apple представила очередное обновление своего флагманского языка программирования — Swift 5.5. Ожидалось, что основной упор будет сделан на улучшение производительности и исправление ошибок, но вместо этого инженеры из Купертино преподнесли разработчикам настоящий сюрприз: в язык была добавлена поддержка асинхронного программирования на уровне синтаксиса — ключевые слова async и await.
До этого момента Swift, хоть и имел мощные инструменты для работы с многопоточностью (например, Grand Central Dispatch и OperationQueue), заставлял разработчиков писать громоздкие замыкания и цепочки обратных вызовов. Новая модель, вдохновлённая языками Kotlin, JavaScript и C#, позволяет писать асинхронный код практически как синхронный, без потери производительности.
«Это не просто синтаксический сахар, — заявил в интервью порталу PythonLib ведущий инженер Apple по Swift Тед Кремер. — Мы переработали рантайм, чтобы задачи, объявленные как async, выполнялись в отдельном потоке без блокировки основного. Это снижает порог входа для новичков и ускоряет разработку сложных iOS-приложений».
Согласно данным внутреннего бенчмаркинга Apple, использование async/await в типичном сетевом запросе сокращает объём кода на 30–40% по сравнению с GCD, а время выполнения остаётся сопоставимым. Кроме того, в Swift 5.5 появились акторы (actors) — новый механизм защиты от состояний гонки, который проверяется на этапе компиляции. По оценке аналитиков компании JetBrains, 68% iOS-разработчиков планируют перейти на Swift 5.5 в течение полугода после релиза.
Официальный выход стабильной версии Swift 5.5 состоялся 20 сентября 2021 года. Обновление доступно в Xcode 13 и распространяется через Swift Package Manager. Для обратной совместимости сохранены все старые API, но Apple настоятельно рекомендует постепенно мигрировать на новый синтаксис.
Таким образом, Swift 5.5 стал не просто очередным патчем, а настоящим шагом вперёд для всего экосистемы Apple. Разработчики, которые раньше жаловались на «ад колбэков», наконец-то получили инструмент, который делает код чистым и предсказуемым.