Для Flutter вышел новый инструмент — Mix. Его описывают как средство, позволяющее создавать дизайн системы во Flutter выразительно и без особых усилий.
Разработчики говорят, что Mix предлагает примитивные строительные блоки, которые помогают разработчикам и дизайнерам создавать красивые и согласованные пользовательские интерфейсы для своих приложений. Основная цель состоит в том, чтобы сделать даже сложные дизайн системы легко поддерживаемыми и масштабируемыми.
Концепция, лежащая в основе Mix, заключается в использовании дизайн системы, набора стандартов, которым необходимо следовать во всех пользовательских интерфейсах для обеспечения согласованности. Как правило, разработчики для Android следуют рекомендациям Material Design, для iOS — руководству Human Interface Guidelines, а для Windows — системе Fluent Design.
Mix предназначен для того, чтобы предложить разработчикам способ выделить свои приложения среди всех других приложений, следующих традиционным системам дизайна, аналогично методам, используемым известными брендами.
Во Flutter есть параметр Theme, который можно использовать для согласованности между пользовательскими интерфейсами, но он не влияет на все визуальные атрибуты, а виджеты Flutter предпочитают композицию наследованию.
Mix сочетает в себе использование композиции Flutter с наследованием для всех атрибутов. Он предоставляет простой API для создания атрибутов дизайна и макета для виджетов, которые можно легко расширять, переопределять и комбинировать. Mix использует утилиты, функции, упрощающие составление атрибута. Он также использует декораторы, атрибуты, которые обычно не являются частью виджета, но которые предоставляют способ указать на детали «отсутствующих» атрибутов. Директивы используются для изменения свойств виджета, а также маркеры дизайна для таких атрибутов, как цвета, стили текста и интервалы.
Команда говорит, что одной из самых мощных функций Mix является вариативность. Это помогает сделать дизайн-систему более гибкой и пригодной для повторного использования. Варианты можно использовать для переопределения нужных свойств Mix, и они применяются только к виджетам, реализующим тот или иной вариант.
Flutter Mix доступен уже сейчас в бета-версии.