→ Relates Forced Exposed App Actions&Objects, Глубокая дизайн-система и UX-паттерны


Чтобы понимать что человек делает, нужно анализировать объекты доменной модели.

Можно было бы только придерживаться строгих соглашений на api и анализирвоать его. Но в предлагаемой провязке с UI мы можем трассировать объекты, свойства, коллекции и экшены до конкретных UI-компонентов/виджетов. Благодаря этому, можно подсвечивать контролы, автоматически оптимизировать расположение и состав элементов, делать анимации и предпросмотры предлагаемых изменений, управлять доступными действиями и данными с бекенда / из конфига/админки/пользовательского конструктора.

В каком-то смысле это расширение идей семантичного веба, но в динамике, а не статике. Гипотетически, предлагаемые подходы смогут помочь не только людям с ограничениями и опытным клавиатуро-водам, но и более широкому классу пользователей. Через голосовые и natural language-команды FlexLight

<DataGrid entity="books" {...{map, ids}}>
  <Table cols={getCols()}/>
  <Pagination {...filtering} />
</DataGrid>

<DataGrid entity="books" {...{map, ids}}>
  <List cols={getCols()}/>
</DataGrid>

<DataGrid entity="books" {...{map, ids, id}}>
  <Attrs cols={getCols()}/> // aka dl=definition-list
  <DataGrid.Action method="load">
    <Button>Обновить</Button>
  </DataGrid.Action>
</DataGrid>

jsx. ReactAdmin like pseudo-code.

Frontend coding benefits: 1) автоматическая вёрстка, 2) автоматическое переключение между вьюшками и контролами с универсальным кодом для работы с сервером 3) локальная индикация загрузки и ошибок

Проблемы