Очередной минорный релиз в котором команда работает над оптимизацией. При этом успевает завозить прикольные фичи. О самых горячих завозах в нашей новостной колонке:
🤏Dot shorthands
Новая фича которая позволяет не указывать название класса с именованным конструктором и название enum
Например для указания alignment в верстке можно указывать только значение
// With shorthands
Column(
mainAxisAlignment: .start,
crossAxisAlignment: .center,
children: [ /* ... */ ],
),
А для padding указывать только значение
Padding(
padding: .all(8.0),
child: Text('Hello world'),
),
🌐 Конфигурация для Web
Новый файл web_dev_config.yaml позволяет задать параметры для локального веб-запуска Flutter-приложения.
Можно указывать порт, хост, сертификаты HTTPS, заголовки и прокси-маршруты
👩🍳 Теперь WidgetState
Вы по-любому встречались с MaterialStateProperty. Параметры для настройки конкретных стейтов материал виджетов (нажат, наведен, отключен)
Теперь вместо Material используем WidgetState, который подходит и для Cupertino виджетов. Ещё одно упрощение работы с платформозависимым UI
✈️ Новый API OverlayPortal
Позволяет размещать всплывающие элементы интерфейса (диалоги, попапы, уведомления и т.п.) в любом Overlay выше по дереву виджетов, а не только в ближайшем
Благодаря этому можно, например, легко показывать глобальные уведомления поверх всего приложения, даже если вызов идёт из вложенного экрана — без костылей и ручного поиска корневого Overlay
🤔Ещё из интересного:
- Куча всяких оптимизаций опять в Engine, Vulkan, OpenGL ES
- Predictive back-анимации на Android теперь по умолчанию
- На Windows появился расширенный доступ к параметрам дисплеев
- Поддержка 16 KB page size для Android
📊 В релизе 825 коммитов от 145 участников сообщества
🔗 Все подробности можно узнать в блоге команды
