Вышел Flutter 3.29! Обвноления касаются производительности, нативных интерфейсов, инструментов разработки и других вещей. Давайте разберем, что тут важно.
🌟 iOS-стиль стал еще лучше
Новые возможности навигации:
CupertinoNavigationBar и CupertinoSilverNavigationBar теперь поддерживают виджеты в нижней части (например, поиск или сегментированный контроль).
Добавлен конструктор CupertinoNavigationBar.large для заголовков в стиле iOS.
Улучшено размытие фона в CupertinoAlertDialog.
Модальные окна с жестом dismiss:
Новый CupertinoSheetRoute позволяет закрывать модальные окна свайпом вниз.
Юрий Петров, Tech Lead Friflex: Теперь диалоги в темной теме выглядят так же, как на нативном iOS. Я думаю, пользователи Iphone оценят.
🌟 Material Design: Анимации и доступность
Новые переходы между страницами:
FadeForwardsPageTransitionsBuilder заменяет ZoomPageTransitionsBuilder, устраняя проблемы с производительностью. Анимация теперь включает одновременное смещение и затухание.
Обновленные компоненты:
CircularProgressIndicator и LinearProgressIndicator адаптированы под Material 3.
Добавлены кастомные курсоры для Chip, Tooltip и ReorderableListView.
Юрий Петров, Tech Lead Friflex: Переходы стали плавнее даже на слабых устройствах. Рекомендую попробовать в проектах с большим количеством навигации.
🌟 Impeller: Стабильность и поддержка
Vulkan на Android:
Исправлены мерцания и проблемы с черным экраном.
На устройствах MediaTek и PowerVR Vulkan отключен в пользу OpenGLES.
OpenGLES как fallback:
Все Android-устройства теперь поддерживают Impeller, даже без Vulkan.
iOS:
Skia окончательно удалена. Уменьшение размера приложений — ждем в следующих релизах!
Юрий Петров, Tech Lead Friflex: Impeller на OpenGLES — это спасение для старых девайсов. Flutter стабилен на 100% Android-устройств, теперь главное, чтобы не появились новые проблемы.
🌟 DevTools и IDE: Логи и инспектор
Новый инспектор виджетов:
Упрощенное дерево, автоматическое обновление при hot-reload.
Улучшения логов:
Фильтрация по уровню серьезности, метаданные (изоляты, зоны).
Юрий Петров, Tech Lead Friflex: Теперь найти ошибку в логах стало проще. Особенно радует поддержка isolate — это упрощает отладку многопоточных приложений.
🌟 Веб: WASM и изображения
WebAssembly (WASM):
Больше не нужны специальные HTTP-заголовки, но многопоточность требует их включения.
Изображения:
Контроль над использованием элементов через webImageElementStrategy.
🌟 Важные изменения и deprecated-пакеты
Пакеты на удаление:
— flutter_markdown, css_colors, palette_generator и другие будут отключены 30 апреля 2025.
HTML-рендерер удален:
Flutter Web теперь использует только CanvasKit и WASM.
Юрий Петров, Tech Lead Friflex: Если используете данные пакеты, рекомендую не затягивать с миграцией на другие.
Полный список изменений можно посмотреть:
Breaking changes;
В статье.
Не пропустите обновления в мире Flutter на канале Мобильный разработчик.
Источник: habr.com