⚡️Вести с полей - Duit v4
Работа над мажорным обновлением экостистемы Duit идет полным ходом!
Что уже сделано (flutter_duit):
⚙️BottomSheets & Dialogs. Наконец-то в Duit появилась возможность управлять контентом диалоговых окон и боттом-шитов. API команд позволяет гибко управлять не только состоянием этих элементов UI, но и элегантно обрабатывать их скрытие. ⚙️ Исправлен способ передачи дочерних элементов для некоторых типов виджетов (например Scaffold, AppBar). Раньше дочерние виджеты передавались только через атрибуты, что приводило к неприятным ограничениям: виджеты являлись out-of-bound и не были включены в общее дерево виджетов на уровне фреймворка; такие виджеты имели только controlled варианты. Изменение способа передачи (через children) позволило делать это эффективнее и решить существующие проблемы ⚙️ Реализована возможность биндинга внешних источников данных (потоков событий) с драйвером. Это позволит проще "прокидывать" события, генерируемые в ходе работы вашего приложения непосредственно в драйвер, без задействования бекенда. ⚙️ Исправлена ошибка подготовки скриптов, в ходе которой не происходил вызов метода драйвера eval(String sourceCode). Это приводило к ошибкам в рантайме, связанным с невозможностью выполнить скрипт.
Что уже сделано (duit_go):
На этом отрезке работ было уделено особое внимание Developer Expirience пакета duit_go и решению давно висевших проблем.
⚙️ Повышена минимальная версия Go - теперь она равна 1.23 ⚙️ Добвлена глубокая валидация структур атрибутов и их свойств в рантайме. Отключить валидацию можно с помощью флага компиляции (не рекомендуется). ⚙️ Миграция виджетов с дочерними элементами в атрибутах на "новые рельсы" ⚙️ DX: "Сплющивание" пакетов и концетрация всех свойств в рамках модуля - duit_props. Раньше все UI-related свойства были раскиданы по десятку пакетов, что не только усложнаяло разработку функционала фреймворка, но и делала их использование очень болезненным. Теперь все свойства находятся в рамках одного пакета, что сделало кодовую базу чище. ⚙️ DX: Generics, goodbye! На этапе разработки первых версий был выбран неудачный путь реализации полиморфизма через гошные дженерики, которые оказались НЕВЕРОЯТНО неудобными "в быту". Дженерику удалены из виджетов и атрибутов, ура! ⚙️ DX: Builders & Constructors. Реализованы удобные конструкторы для всех структур в duit_props. Там, где кол-во свойств структуры велико или сложно инициализируется, реализован паттерн Fluent Builder для более простого их наполнения данными. ⚙️ Ведется работа над документацией в коде и покрытием тестами критичных участков кода
Поддержать проект: