Search
Write a publication
Pull to refresh

Релиз фреймворка Flutter 3.13

Reading time2 min
Views2.4K

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

Основные обновления

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

Среднее время растеризации кадров в тесте производительности переходов Flutter Gallery на iPhone 11. График охватывает время с ветки 3.10 до 3.13
Среднее время растеризации кадров в тесте производительности переходов 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 (справа)
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, список и информация для миграции доступна в документации.

Tags:
Hubs:
Total votes 16: ↑16 and ↓0+16
Comments11

Other news