⚡️Вести с полей - Duit v4
Работа над мажорным обновлением экостистемы Duit идет полным ходом!
Что уже сделано:
⚙️Рефакторинг работы с объектной моделью дерева виджетов, что позволило ускорить обработку json в ~3 раза. Помимо этого данное изменение помогло упросить API кастомных виджетов - теперь регистрировать такие виджеты станет предельно просто: 1 виджет = 1 функция. ⚙️Рефакторинг тем и их перенос на уровень фреймворка, упрощение инициализации и расширения тем. ⚙️Улучшение обратной совместимости значений атрибутов при преобразовании макета из/в json. ⚙️Реализован декодер для кастомных типов Duit и несериализуемых типов Flutter. Он позволит экспортировать макеты duit-экранов из Duit Studio. ⚙️Реализован настраиваемый троттлинг и дебаунс для обработчиков действий. ⚙️Новый виджет специального назначения - Fragment. Виджет предназначен для выделения неизменяемых (статических, не зависящих от логики формирования UI в рантайме) частей UI в специальные блоки, которые могут быть закешированы клиентом для уменьшения объема JSON. ⚙️Переработка механики работы компонентов. Удалось уйти от анти-паттера (мутабельного макета компонента), который порождал сайд эффекты ("липкие" данные, когда в макете "оседали" данные от предыдущих итераций взаимодействия с макетом). В рамках задачи частично реализована RFC 6902 (JavaScript Object Notation (JSON) Patch) для сохранения эффективности обработки и обеспечения иммутабельности базового макета.
Поддержать проект: