Compose Multiplatform 1.7 объявлена production-ready для iOS. Мы наконец взяли её на коммерческий проект. Делимся честным отчётом за два спринта работы.
Что хорошо
- Один codebase для UI - значимая экономия на типовых экранах.
- Kotlin как язык куда лучше Dart (Flutter) для Android-команды.
- Hot reload работает, в том числе на симуляторе iOS.
- Material 3 + Cupertino-обёртки - UI выглядит нативно на обеих платформах.
Что плохо
- Размер ipa: +18–25 МБ к базовому. Для маркетплейсов - критично.
- Cold start на iPhone заметно медленнее, чем у нативного SwiftUI: +0.4–0.7 сек.
- Глубокая интеграция с iOS-фичами (Live Activities, Widgets, ShareSheet) - обёртки сырые.
- Сложно нанять - мало kotlin-инженеров, готовых работать с iOS-частью.
Когда мы это берём
B2B-приложения с большой бизнес-логикой и типовым UI - экономия 30–40% времени к двум нативным командам. Internal tools, корпоративные продукты, медицинские формы. Не берём для consumer-приложений с акцентом на платформенный UX и анимации.