SwiftUI или UIKit в 2026 году
Вопрос
Новый проект: на чём писать UI, SwiftUI или UIKit? Как аргументируете выбор?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Минимальная версия iOS определяет доступные API SwiftUI (Observation с iOS 17)
SwiftUI: скорость разработки, превью, меньше кода, декларативность
UIKit: тонкий контроль, сложные списки и жесты, зрелые решения, предсказуемая производительность
Гибрид: SwiftUI-экраны в UIKit-навигации или UIKit-компоненты через Representable
Команда и найм: опыт, кодовая база, дизайн-система
Что могут спросить следом
- Как организовать навигацию в гибридном приложении?
- Где SwiftUI до сих пор упирается в ограничения?
Разбор
Сначала смотрю на минимальную версию iOS: если это 17 и выше, доступны Observation, зрелый NavigationStack и многое другое, и SwiftUI становится основным выбором. Плюсы SwiftUI: меньше кода, превью, декларативное состояние, новые системные фичи (виджеты, Live Activities) вообще только на нём. UIKit всё ещё лучше там, где нужен тонкий контроль: очень сложные списки с кастомной раскладкой, нестандартные жесты, текстовые редакторы, и где важна предсказуемая производительность на больших объёмах. Поэтому чаще всего выбираю гибрид: экраны на SwiftUI, отдельные тяжёлые компоненты на UIKit через UIViewRepresentable, а иногда навигация на координаторах UIKit с UIHostingController. Учитываю и команду: опыт людей и существующую дизайн-систему.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.