Перейти к основному содержимому

О 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. В типовом случае использования процесс работы выглядит так:

  1. Создание экземпляра драйвера (настройка параметров)
  2. Build хост-виджета
  3. Инициализация драйвера хост-виджетом
  4. Выполнение запроса для получаения начального макета
  5. Получение ответа от сервера, декодинг, парсинг, обработка, построение объектной модели представления
  6. Преобразование объектной модели представления в UI

В дальнейшем, при взаимодействии пользователя с элементами UI, происходит тригер пользовательских действий, описанных на стороне сервера (например, запрос на определенный эндпоинт). Сервер обрабатывает входящий запрос и генерирует новое событие, которое описывает новое состояние UI или поведение приложения.

Поддержка​

Duit поддерживается организацией Duit-Foundation.

Описать проблемы, запросы и пожелания по новому функционалу можно в репозитории фреймворка.

Поддержать проект финансово можно перейдя по ссылке.