Состоялся релиз фреймворка для разработки кроссплатформенных мобильных приложений Flutter 3.13. Разработчики ускорили движок рендеринга и обновили Engine API для складных смартфонов.

Основные обновления
Благодаря отзывам пользователей удалось оптимизировать движок Impeller для iOS, что в итоге уменьшило задержку и повысило общую скорость работы;

в версии 3.10 анонсировали поддержку цветового пространства RGB с широкой гаммой, в версии 3.13 оно доступно по умолчанию;
команда разработчиков Flutter продолжает интеграцию Vulkan API и OpenGL, но сообщила, что технологии требуется доработка, чтобы пользователи Android получили качественный опыт взаимодействия;
в прошлом релизе команда фреймворка сделала Impeller движком по умолчанию для iOS. В выпуске 3.13 Impeller можно использовать и с приложениями для macOS. В App Store опубликовали приложение Wonderous, которое собрано на Impeller;

для лучшей поддержки складных смартфонов добавили API для получения различных свойств дисплеев. К примеру, с помощью нового геттера
FlutterView.Display
, возвращающего объектDisplay
, можно узнать физический размер дисплея, соотношение сторон и частоту обновление экрана;во фреймворк Material внесли ряд улучшений совместимости и адаптивности. Также добавили больше вариативности в настройки;
при использовании
TextField
пользователи увидят иконку для сканирования области камерой для вставки;Alert.Dialog
, теперь использует адаптивный конструктор, это значит, что пользователи увидят диалоговое окно Material или Cupertino в зависимости от платформы;

CupertinoAlertDialog
на iOS (слева) и MaterialAlertDialog
на Android (справа)в
CupertinoDatePicker
добавили возможность окна выбора месяца и года с помощьюmonthYear
;

в
CupertinoRadio
добавили свойствоuseCheckmarkStyle
, что позволяет виджетамRadio.adaptive
иRadioListTile.adaptive
использовать стили iOS;

FilterChip.elevated
,ChoiceChip.elevated
иActionChip.elevated
теперь работают в соответствии со спецификациями Material 3;во Flutter 3.13 добавили всё необходимое для реализации виджетов с прокруткой в двух направлениях;
исправили проблему с ошибкой при смене ориентации экрана на iOS;
добавили поддержку iOS 17 и Xcode 15. Разработка на этом стеке возможна только во FLutter 3.13;
обновили страницу Flutter Casual Toolkit, теперь разработчики сразу могут получить доступ к обучающим ресурсам.
Кастомизация виджетов Material
для настройки виджетов ошибки, отображаемых в текстовых полях, можно использовать свойство в
InputDecoration
;

в
ButtonSegment
можно добавлять всплывающие подсказки;

в списках
ExpansionPanelList
можно задать отступы с помощью свойстваmaterialGapSize
;

переключателям можно добавлять обводку с помощью свойства
trackOutlineWidth
;

внутренние отступы (padding) для
NavigationDrawer
настраиваются с помощью свойстваtilePadding
;

в TabBar добавили свойство выравнивания вкладок.

Критические изменения
в следующем обновлении Material 3 будет работать во Flutter по умолчанию;
фреймворк больше не поддерживает Android Jelly Bean API (уровни 16, 17 и 18);
во Fluter 3.13 отказались от поддержки многих устаревших API, список и информация для миграции доступна в документации.