Команда разработчиков внедрила SwiftUI в приложении, обслуживающем 50 миллионов пользователей. Этот шаг стал важным этапом, так как он поднимает вопросы о подходах к разработке и управлению большими кодовыми базами.
Контекст перехода к SwiftUI
Приход нового фреймворка создал и новые возможности, и вызовы. Помимо необходимости перейти с UIKit, разработчики сталкиваются с изменением культуры внутри команды. Чтобы успешно адаптировать SwiftUI, нужно не только техническое понимание, но и возможность изменить менталитет старших инженеров, которые долго работали с UIKit и привыкли к его стабильности.
SwiftUI, запущенный в 2019 году, представляет собой многоплатформенное решение для создания интерфейсов. Однако для крупной команды разработчиков переход был гораздо более сложным: важно было учесть, что более половины пользователей все еще работают на iOS 15 и 16, несмотря на рост iOS 17.
Уроки и выводы о внедрении SwiftUI
Разработчики выявили несколько ключевых аспектов, на которые стоит обратить внимание при внедрении SwiftUI:
- Постепенность внедрения: Важно внедрять SwiftUI поэтапно, дифференцируя взаимодействие с старым UIKit.
- Тестирование: Инженеры впервые начали активно тестировать функционал благодаря упрощенному процессу написания тестов в SwiftUI.
- Культура изменений: Переход к SwiftUI воспринимается как культурный сдвиг, который требует вовлечения всех участников команды.
Один из старших инженеров отметил: "Я понимаю, что SwiftUI — это будущее. Но мои экраны работают, мне не хочется их переписывать." Это подчеркивает сопротивление, с которым сталкиваются команды.
Практическое значение для разработчиков
Для разработчиков из России и СНГ понимание этих проблем имеет практическое значение. Если вы работаете с большими кодовыми базами, активное вовлечение команды в процесс изменений может упростить переход. Используйте возможность флагов скрытия функций, чтобы ваши пользователи с разными версиями iOS могли использовать новые возможности.
Внедрение SwiftUI в крупном приложении предполагает не только технические изменения, но и изменение подхода к работе команды. Технические сложности остаются, но фокус на культуре изменений может существенно упростить процесс.
Следующий шаг для команды — продолжить расширение функционала и поддерживать диалог о возможностях и вызовах, связанных с SwiftUI.