Состоялся релиз фреймворка для разработки кроссплатформенных мобильных приложений Flutter 3.13. Разработчики ускорили движок рендеринга и обновили Engine API для складных смартфонов.Основные обновления
Благодаря отзывам пользователей удалось оптимизировать движок Impeller для iOS, что в итоге уменьшило задержку и повысило общую скорость работы;Среднее время растеризации кадров в тесте производительности переходов Flutter Gallery на iPhone 11. График охватывает время с ветки 3.10 до 3.13
в версии 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, список и информация для миграции доступна в документации.
Источник новости: habr.com