Вышел 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-заголовки, но многопоточность требует их включения.
Изображения:
-
Контроль над использованием <img> элементов через webImageElementStrategy.
🌟 Важные изменения и deprecated-пакеты
Пакеты на удаление:
— flutter_markdown, css_colors, palette_generator и другие будут отключены 30 апреля 2025.
HTML-рендерер удален:
-
Flutter Web теперь использует только CanvasKit и WASM.
Юрий Петров, Tech Lead Friflex: Если используете данные пакеты, рекомендую не затягивать с миграцией на другие.
Полный список изменений можно посмотреть:
-
Не пропустите обновления в мире Flutter на канале Мобильный разработчик.
ссылка на оригинал статьи https://habr.com/ru/articles/882012/
Добавить комментарий