Введение 0:00 Обсуждение выбора между SwiftUI и UIKit для новых проектов на iOS. SwiftUI — декларативный UI-фреймворк от Apple.
Преимущества SwiftUI 0:59 Декларативный подход позволяет быстрее писать код и решать сложные задачи. Система типов iOS лежит в основе SwiftUI. Визуальная понятность структуры UI.
Сравнение с Jetpack Compose 1:58 Jetpack Compose популярен среди Android-разработчиков. SwiftUI имеет преимущества в производительности и надёжности.
Минимальные требования к iOS 2:58 SwiftUI требует iOS 15 для полноценной работы. Проблемы с поддержкой старых версий iOS.
Инфраструктура и архитектура 5:56 Для SwiftUI требуется серьёзная инфраструктура. Необходимость адаптации архитектуры проекта под декларативный подход. Сложности с комбинированием классов и обёрток.
Навигация 7:53 Навигация в iOS 13 и 14 сложна и не унифицирована. В iOS 15 и 16 появились улучшения, но проблемы остаются. Разработка паттернов для навигации.
Магические баги 8:53 SwiftUI надёжнее Jetpack Compose, но новые баги всё равно появляются. Разработчики не могут предсказать все сценарии использования фреймворка. Проблемы с магическими багами, которые могут привести к отказу работы кода.
Проблемы с SwiftUI в iOS 13 9:52 В iOS 13 были баги, из-за которых экран крашился в табеле. Проблема была связана с картинкой в профиле. После повышения минимальной версии iOS до 14 стабильность улучшилась.
Производительность и расширяемость SwiftUI 10:51 SwiftUI из коробки работает хорошо, но не имеет таких оптимизаций, как Jetpack Compose. Jetpack Compose позволяет заранее скомпилировать «горячие» участки кода. Расширяемость SwiftUI ограничена из-за ограничений Apple.
Аргументы против перехода на SwiftUI 11:50 Переход на SwiftUI может потребовать значительных ресурсов и снизить надёжность и производительность. Переход может увеличить команду разработчиков.
Рекомендации по выбору технологии для новых проектов 12:50 Для новых проектов рекомендуется использовать SwiftUI, чтобы быть в числе первых и нарабатывать экспертизу. Технологическая кривая важна для поддержания конкурентоспособности.
Проблемы совмещения технологий 13:49 Совмещение нескольких технологий может вызвать сложности и проблемы. Рекомендуется переходить на новые технологии последовательно.
Обучение SwiftUI и UIKit 15:46 Новичкам рекомендуется изучать SwiftUI и UIKit параллельно. Знание UIKit необходимо для понимания SwiftUI. Рекомендуется начинать с UIKit, а затем переходить на SwiftUI.
Перспективы Jetpack Compose 17:42 Jetpack Compose активно захватывает рынок и может стать основным фреймворком в будущем. Знание Jetpack Compose увеличивает шансы на трудоустройство.
Заключение 18:42 Переход на новые технологии может сначала вызвать проблемы, но затем приведёт к ускорению работы и увеличению прибыли. Автор призывает делиться опытом в комментариях и Telegram-чате.