О компонентах
Если пристальнее взглянуть на UI, то можно увидеть, что он состоит из множества атомарных элементов, таких как: Text, Column, Image и так далее. Благодаря композиции этих атомарных элементов, мы можем создавать новые специфические виджеты со своим набором свойств. В свою очередь, из более крупных элементов UI создаются экраны приложений.
Duit реализует возможность создания наиболее полного мета-описания разметки экранов (виджетов и их свойств), что делает его мощным инструментом для создания UI. Однако такая гибкость порождает закономерные проблемы, такие как «многословность» описания (когда описание одного элемента UI с его свойств ами становится очень большим) и, как следствие, увеличение размера JSON, передаваемого по сети.
Композиция и шаблонизация
При разработке приложений мы часто руководствуемся принципами повторного использования кода, создавая композиции виджетов, чтобы сделать код читаемым, понятным, поддерживаемым и масштабируемым. В контексте BDUI эта необходимость возрастает из-за увеличения итогового JSON.
Duit решает эту проблему с помощью подхода, называемого шаблонизацией. Используя специально описанные структуры (компоненты), мы можем сократить описание макета и передавать по сети лишь данные для компонент-шаблонов, а не сам макет целиком. Это не только уменьшает размер итогового JSON, но и разделяет данные и представление, что положительно влияет на поддержку кодовой базы.
Зарегистрированные компоненты будут доступны глобально во всех экземплярах DuitDriver, которые были инициализированы в приложении.