Стек. Каркас. Разговор.
- Декларативные приложения
- Генеративные приложения
- Структура приложения
- Библиотеки данных и взаимодействия (текущие)
- Хост-библиотеки
Библиотеки данных в [meta] являются важным уровнем унификации всего стека. Цель этого уровня — сделать все максимально функциональным. Например, FeatherScript — отличный пример библиотеки данных, он берет обычные функции, предоставляемые перьями.js, и преобразует их в функции ClojureScript.
Он также отвечает за очистку типов данных, используемых на более низких уровнях. Это означает, что [мета] фреймворк работает только с данными ClojureScript. Взаимодействие с объектами/типами JavaScript разрушает абстракцию между приложением, его языком и хостом. Если вы не собираетесь напрямую взаимодействовать с хостом, ваше приложение должно ограничивать себя только данными ClojureScript.
Библиотеки Interop используются для внешнего взаимодействия внутри экосистемы JavaScript. Часто [мета] использует для этого уровня пакеты CLJSJS, которые обеспечивают доступ к библиотекам и внешним модулям.
Эти слои используются вместе, чтобы абстрагировать [мета] фреймворк от внешних систем и сохранить логику приложения внутри ClojureScript.
Вы можете попробовать [meta] и ознакомиться с README на GitHub.