22 мая 2026 года команда Flutter выкатила релиз 3.44. И если обычно мажорные версии балуют нас парой новых виджетов и исправлением старых багов, то тут — залп сразу по нескольким фронтам. Hybrid Composition++, полноценная поддержка Swift Package Manager, Vulkan на Impeller и Agentic Hot Reload, который переворачивает представление о "горячей перезагрузке". Давайте разбираться, что из этого действительно полезно, а что — маркетинговый шум.
Сначала про слона в комнате — Hybrid Composition++
Помните ту боль, когда вы пытались встроить нативный видео-плеер или карту в Flutter, а всё тормозило, дергалось и сыпало warning'ами? Старый Hybrid Composition (который появился в далеком 2021) работал через PlatformView с отдельным буфером, и каждое взаимодействие между Dart и нативным кодом вызывало дорогой обход через движок.
В Flutter 3.44 представили Hybrid Composition++. По сути, это вторая итерация гибридного рендеринга, где нативные вьюхи теперь рендерятся напрямую в текстуру Flutter с минимальными накладными расходами. Разница — как между пересылкой посылки через три страны и передачей из рук в руки.
Ключевое изменение: Flutter больше не нужен отдельный буфер для каждого PlatformView. Теперь нативные вьюхи делят ту же текстуру, что и остальное дерево виджетов. На Android это даёт прирост FPS до 40% в сценариях с WebView или картами Google.
Теперь не надо думать, что будет быстрее — написать свой плеер на Dart или дернуть нативный ExoPlayer. С Hybrid Composition++ разница почти незаметна. И это снимает главный аргумент хейтеров Flutter: "а вот нативные вьюхи тормозят".
Swift Package Manager — прощай, CocoaPods?
Для iOS-разработчиков этот пункт — как глоток свежего воздуха. CocoaPods, хоть и де-факто стандарт, всегда был тормозом. SPM (Swift Package Manager) уже несколько лет как встроен в Xcode, и наконец-то Flutter дозрел до нативной поддержки. Теперь в pubspec.yaml можно указать флаг ios: useSwiftPackageManager: true — и всё, плагины подтягиваются через SPM.
Важный момент: для старых проектов с CocoaPods миграция не обязательна, но для новых — это теперь рекомендуемый способ. SPM быстрее, не требует Ruby-окружения, и лучше интегрируется с современными инструментами, например, со Swift Transformers для запуска локальных LLM.
Кстати, если вы когда-нибудь хотели встроить в приложение локальную нейросеть — после SPM-интеграции это становится тривиальной задачей. Мы уже писали про запуск LLM на iPhone — теперь связка Flutter + SPM + Swift Transformers работает из коробки.
Vulkan Impeller: графика на стероидах
Impeller — это новый графический движок Flutter, который пришёл на смену Skia. Он был в beta с Flutter 3.16, и в 3.44 получил полноценную поддержку Vulkan на Android. Для тех, кто не в курсе: Vulkan даёт гораздо более низкоуровневый контроль над GPU, чем OpenGL ES, и позволяет движку эффективнее распределять нагрузку.
На практике это значит, что анимации перестают тормозить на слабых устройствах, а сложные кастомные рендеры (например, кастомные паинтеры или рисование графиков) работают заметно плавнее. Особенно это заметно на устройствах с Mali GPU — там прирост частоты кадров может достигать 50%.
Но есть нюанс: Vulkan поддерживается только на Android 10+ (API 29). Если ваше приложение целится в старые устройства, Impeller будет автоматически падать обратно на OpenGL ES. Впрочем, по статистике Google, 95% устройств на Android уже имеют Vulkan.
Agentic Hot Reload — когда hot reload учится думать
Самая неожиданная фича. Обычный hot reload просто заменяет скомпилированный код в работающем приложении. Но что, если после изменения виджета нужно ещё обновить состояние или выполнить миграцию данных? Agentic Hot Reload (AHR) задействует маленькую LLM-модель, встроенную прямо в Dart VM, которая анализирует изменения и предлагает автоматические действия.
Например, вы переименовали переменную в стейте — AHR сам найдёт все обращения и обновит их. Или удалили поле из модели — предложит запустить миграцию. Пока фича в статусе экспериментальной (её нужно включить флагом --enable-agentic-hot-reload), но идея — огонь. Особенно на фоне общего тренда на агентные workflow, который мы наблюдаем повсюду.
Лично я бы не рекомендовал включать AHR в продакшн-сборке — модель жрёт около 100 МБ RAM. Но для разработки это колоссальная экономия времени. В сочетании с vibe-кодингом выходит почти джедайский уровень: пишем промпт, ИИ генерирует код, AHR сам применяет изменения и чинит сломанное состояние.
Что ещё под капотом?
Помимо трёх больших фич, в 3.44 подвезли несколько приятных мелочей:
- Дарт 3.7 — нативная поддержка паттерн-матчинга для коллекций и улучшенная инференция типов.
- Widget Inspector с AI-подсказками — при клике на виджет в DevTools, AI предлагает, как его улучшить или оптимизировать.
- Ускоренный билд для Web — теперь при сборке под Web используется WasmGC, что сокращает время компиляции на 30%.
- Android 16 Preview support — Flutter уже готов к новейшим API, включая адаптивные иконки и приватные пространства.
Из того, что пока не завезли — всё ещё нет стабильной поддержки селекторов для мультиплатформенных расширений (как в SwiftUI). Но, судя по дорожной карте, это появится в 3.46.
Кому и зачем обновляться?
Flutter 3.44 — не тот случай, когда можно пропустить релиз. Если вы пишете под iOS и устали от CocoaPods — обновляйтесь немедленно. Если у вас приложение с картами, видео или кастомными анимациями — Hybrid Composition++ и Vulkan дадут ощутимый прирост производительности. Agentic Hot Reload — приятный бонус, но пока сыроват.
Было бы странно не упомянуть альтернативы. React Native, например, всё ещё имеет преимущество в размере сообщества и количестве готовых библиотек. Но с точки зрения архитектуры и контроля над рендерингом — Flutter 3.44 вырывается вперёд. Kotlin Multiplatform Mobile (KMM) хорош для бизнес-логики, но UI там всё равно на каждой платформе свой. Flutter же даёт единый код при той же или лучшей производительности.
В целом, 3.44 — релиз, который закрывает самые болезненные болячки Flutter. Нативная интеграция больше не тормозит, сборка под iOS стала в разы приятнее, а ИИ-помощник внутри hot reload — это заявка на будущее, где разработчик только задаёт направление, а код пишет и деплоит машина.
Совет: попробуйте включить Agentic Hot Reload на небольшом pet-проекте. Это невероятно аддиктивно — видеть, как IDE сама чинит то, что вы сломали переименованием. А через полгода, уверен, AHR станет стандартом для всех сборок.