О Duit
Duit - это активно развивающаяся экосистема open source библиотек и инструментов, призванная помочь разработчикам легко и эффективно реализовывать подход backend-driven UI в своих приложениях, написанных на Flutter.
Зачем это нужно?
BDUI - это подход к разработке приложений, когда сервер управляет и данными, и версткой приложения.
На момент начала разработки Duit существующие BDUI-решения были либо проприетарными разработками внутри компаний, либо не обеспечивали должной эффективности и удобства при работе. Для Flutter таких решений было еще меньше.
Анализ недостатков существующих библиотек для реализации BDUI позволил выделить ряд факторов, которые обеспечат полноценную работу BDUI:
- Быстродействие
- Простота интеграции и использования
- Расширяемость
- DSL-библиотеки для бекенда
- Эффективное обновление состояния UI
- Обработка действий пользователя
Duit является мощным ответом на все эти запросы. Фреймворк является гибким инструментов, тем самым удовлетворяя широкий спектр требований.
Концетрация на Flutter
Duit является фреймворком, созданным для использования в Flutter приложениях. Благодаря этому мы можем сохранить привычную Flutter-разработчикам семантику верстки на бекенде, тем самым уменьшая порог входа в технологию.
На стороне сервера вы оперируете привычными атомарными блоками (Text, Column, Row и т.д.) и набором их свойств, а использования типизированных языков программирования позволяет избежать многих ошибок при присвоении свойствам значений.
Как это работает?
Главная задача Duit - обработать входящий JSON (мета-описание UI или макет) и превратить его в UI. В типовом случае использования процесс работы выглядит так:
- Создание экземпляра драйвера (настройка параметров)
- Build хост-виджета
- Инициализация драйвера хост-виджетом
- Выполнение запроса для получаения начального макета
- Получение ответа от сервера, декодинг, парсинг, обработка, построение объектной модели представления
- Преобразование объектной модели представления в UI
В дальнейшем, при взаимодействии пользователя с элементами UI, происходит тригер пользовательских действий, описанных на стороне сервера (например, запрос на определенный эндпоинт). Сервер обрабатывает входящий запрос и генерирует новое событие, которое описывает новое состояние UI или поведение приложения.
Поддержка
Duit поддерживается организацией Duit-Foundation.
Описать проблемы, запросы и пожелания по новому функционалу можно в репозитории фреймворка.
Поддержать проект финансово можно перейдя по ссылке.