Релиз Flutter 3.44: что изменилось для разработчиков
Вышла новая версия Flutter 3.44. На первый взгляд - очередной плановый релиз. Но на самом деле это один из самых стратегически важных апдейтов за последние годы. Два главных изменения: Swift Package Manager становится стандартом для iOS/macOS, а Material и Cupertino начинают отделяться от ядра фреймворка.
Swift Package Manager вместо CocoaPods:
Долгие годы Flutter-разработчики под iOS мучились с Ruby-окружением, pod install и конфликтами версий. С выходом 3.44SPM включен по умолчанию даже на стабильной ветке. Flutter теперь сам генерирует Swift-пакеты для Add-to-App, диагностирует несовместимые плагины и предупреждает о конфликтах между CocoaPods и SPM. CocoaPods официально уходит в историю.
Material и Cupertino отделяются от ядра:
Второе крупное изменение - библиотеки Material и Cupertino постепенно выносятся из основного SDK в отдельные пакеты material_ui и cupertino_ui. Это значит, что дизайн-системы смогут обновляться независимо от релизного цикла Flutter (раз в три месяца). В будущем приложения смогут не включать целые UI-библиотеки, если они не используются. Это шаг к модульности и уменьшению размера приложений.
RoundedSuperellipseInputBorder - новые формы для полей ввода.
Native desktop window showDialog - нативные диалоговые окна на десктопе.
Predictive Back - улучшенные анимации возврата на Android.
HCPP (Hybrid Composition++) - новая стратегия рендеринга платформенных вьюх на Android, которая решает проблемы с tearing и производительностью.
Display P3 и wide gamut на macOS.
Stylus support на Windows.
Reduced motion на Web.
Inline prediction для клавиатуры iOS.
Новый flutter analyze на базе LSP.
AGP 9 и Kotlin 2.x - подготовка к новым версиям Android-инструментов.
Сотни фиксов Impeller, rendering pipeline и tooling.
Android - HCPP и predictive back:
HCPP - это новая стратегия для платформенных вьюх (WebView, карты). Вместо того чтобы рендерить их через offscreen-буферы, Flutter теперь делегирует композицию напрямую Android OS через Vulkan. Результат: плавный скролл, правильная обработка касаний и поддержка SurfaceView.
Web - производительность и доступность:
Flutter Web получил reduced motion support, улучшения accessibility, фиксы для Firefox, оптимизации CanvasKit и Skwasm. Генерация мусора теперь унифицирована, а шрифты загружаются быстрее.
Desktop - Canonical становится лидом:
Canonical официально назначена лидом по развитию Flutter Desktop. Они будут поддерживать Linux, Windows и macOS embedders. В preview появились tooltip-окна, popup-окна, нативные showDialog и undecorated windows.
Что с Material и Cupertino:
В этом релизе библиотеки заморожены. Это последние изменения в рамках ядра. Дальше все будет в отдельных пакетах. Пока без паники - миграция займет время, но к ней стоит готовиться.
Вывод:
Flutter 3.44 закладывает фундамент, который изменит экосистему в ближайшие годы. Переход на SPM окончательно избавляет iOS-разработку от Ruby-зависимостей и делает сборку предсказуемее. HCPP и Impeller улучшают производительность на Android и iOS. А отделение Material и Cupertino от ядра открывает дорогу к легким, модульным приложениям, которые включают только нужные компоненты.