UIKit vs SwiftUI: что выбирают разработчики в 2024 году?
Сообщество Swift-разработчиков давно разделилось на два лагеря: консерваторы, верные UIKit, и энтузиасты, осваивающие SwiftUI. Но что на самом деле используют в боевых проектах? Свежий опрос среди iOS/macOS-инженеров на крупнейших конференциях и в профессиональных чатах показал неожиданные результаты.
Методология опроса
В опросе приняли участие более 850 инженеров из России, СНГ и Европы, работающих над продакшен-проектами (приложения в App Store, корпоративные решения, SaaS-продукты). Респондентов просили указать основной фреймворк для UI, а также дополнительные инструменты: Combine, Async/Await, Core Data, Realm и другие.
Главные цифры
- UIKit — 58% респондентов используют его как основной фреймворк для iOS/macOS в продакшене.
- SwiftUI — 32% разработчиков уже внедрили его в боевые проекты, но чаще в гибридном режиме с UIKit.
- Чистый SwiftUI (без UIKit) — только 10% опрошенных решились на полный переход.
- Combine используется в 45% проектов, чаще всего вместе с UIKit.
- Async/await (structured concurrency) — 67% разработчиков уже применяют его в продакшене, независимо от выбора UI-фреймворка.
Почему UIKit всё ещё лидирует?
Несмотря на активное продвижение SwiftUI со стороны Apple, UIKit остаётся «рабочей лошадкой» индустрии. Основные причины:
- Зрелость и стабильность — UIKit существует более 10 лет, его поведение предсказуемо.
- Совместимость — огромное количество легаси-кода и сторонних библиотек завязано на UIKit.
- Гибкость — UIKit позволяет реализовать сложные кастомные UI-элементы, которые в SwiftUI требуют обходных путей.
- macOS Catalyst — многие портируют iPad-приложения на Mac именно через UIKit.
SwiftUI: прорыв или эксперимент?
SwiftUI активно набирает обороты, особенно в стартапах и новых проектах. Однако продакшен-опыт показывает: SwiftUI всё ещё страдает от:
- Ограниченной поддержки сложных анимаций и кастомных layout.
- Проблем с производительностью на больших списках (LazyVStack vs UICollectionView).
- Неполной обратной совместимости (SwiftUI требует iOS 13+, а многие компании поддерживают iOS 15+).
Тем не менее, 32% респондентов уже используют SwiftUI в продакшене — это рост на 12% по сравнению с 2023 годом. Тренд очевиден: в ближайшие 2-3 года SwiftUI может обогнать UIKit по числу новых проектов.
Дополнительные инструменты: что ещё в ходу?
Опрос также затронул стеки для работы с данными и сетью:
- Alamofire — 34% (постепенно вытесняется URLSession + async/await).
- Core Data — 28% (в основном в старых проектах).
- Realm — 15% (снижение популярности из-за ухода MongoDB из активной поддержки).
- SwiftData — 12% (новый фреймворк Apple, только начинают внедрять).
Рекомендуем библотеки
Другие новости
Критическая уязвимость в библиотеке Node.js: угроза для миллионов проектов
Успех стартапа на Kotlin: история компании, покорившей рынок
Опрос State of JS: какие Node.js фреймворки выбирают для продакшена в 2024
Рынок труда TypeScript: зарплаты разработчиков взлетели на 20%