Что внутри Flutter 3.29.0

от автора

Вышел 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: Если используете данные пакеты, рекомендую не затягивать с миграцией на другие.

Полный список изменений можно посмотреть: 


ссылка на оригинал статьи https://habr.com/ru/articles/882012/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *