Устаревание публичного API пакетов, улучшение DX и capability-based архитектура драйвера: что нас ждет в новом релизе Duit?
Готовится масштабное обновление Duit, которое принесёт не только новый уровень удобства работы с фреймворком, но и зафиксирует новые подходы к его дальнейшему развитию. Этот релиз — про архитектуру, предсказуемость и осознанные ограничения, а не просто про новые возможности.
1. Устаревание публичного API
Начиная с duit_kernel v4.2.0, помечены @Deprecated устаревшие способы взаимодействия с драйвером. Предварительный список устаревших сущностей можно посмотреть в PR.
Эти изменения — подготовительный этап к более чистому и компактному API в следующем мажорном релизе. Текущая версия даёт время на миграцию и позволяет адаптировать код под новую архитектуру без резких breaking changes.
Цель этого шага — сокращение публичного API и фиксация более строгих и понятных контрактов.
2. Переход к сapability-based архитектуре драйвера
Архитектура UIDriver — ключевого интерфейса драйвера и оркестратора UI — была коренным образом переосмыслена. Вместо монолитного интерфейса, агрегирующего все зависимости и обязанности, теперь используется модульная система на основе capability-mixins.
Каждая подсистема драйвера оформлена как отдельная capability, например: ServerActionExecutionCapabilityDelegate, TransportCapabilityDelegate и тд.
Такой подход позволяет: • Явно фиксировать доступные возможности драйвера; • Уменьшить связанность компонентов; • Упростить расширение, тестирование и сопровождение кода; • Улучшить DX за счёт более прозрачной архитектуры.
Подробнее о том, что такое capability-based архитектура, какие проблемы она решает и как именно работает в Duit, — в новой статье, которая доступна по ссылке.
Release candidate доступен на pub.dev
Далее запланировано масштабное обновление документации, а также подробные гайды по миграции на новую архитектуру.
Поддержать проект: • Кодом • Денежкой • Заказать консультацию