Клиентские MVC-фреймворки для ClojureScript
Я пытаюсь выбрать библиотеку для MVC на стороне клиента в ClojureScript. Вот библиотеки ClojureScript, которые я нашел до сих пор:
- WebFUI ( https://github.com/drcode/webfui)
- Enfocus: ( http://ckirkendall.github.io/enfocus-site/)
- Пьедестал ( http://pedestal.io/)
- Ducttape ( https://github.com/hozumi/ducttape.cljs)
- C2 ( http://keminglabs.com/c2/) Похоже, это можно использовать в качестве платформы DOM.
Как выбрать между ними? Кроме того, как они будут сравниваться с использованием AngularJS или Backbone из ClojureScript?
3 ответа
Это не совсем полная структура, может быть, только V на стороне клиента MVC, но за ней стоит следить.
https://github.com/swannodette/om
Интерфейс ClojureScript для React Facebook
Ом позволяет пользователям представлять свои интерфейсы просто как EDN. Поскольку данные ClojureScript являются неизменяемыми данными, Om всегда может быстро перерисовать пользовательский интерфейс из корня. Таким образом, пользовательские интерфейсы Om сразу же создаются и могут быть отменены, и эти операции не имеют сложности в реализации и незначительных накладных расходов.
Пожалуйста, не пропустите это чтение http://swannodette.github.io/2013/12/31/time-travel/
Ganelon (автором которого я являюсь) - это веб-микрофрейм Clojure, созданный поверх Ring/Compojure.
Это не совсем клиентский MVC, так как в целом он предоставляет простой механизм, который позволяет нам:
- вызвать запрос XHR из тонкого слоя JavaScript (например, по ссылке или отправке формы)
- вернуть ответ JSON, содержащий операции, которые необходимо выполнить (например, обновить DIV, отобразить модальные и т. д.)
- выполнить операции с шага 2 через тонкий слой JavaScript
Документы и демоверсии доступны здесь: http://ganelon.tomeklipski.com/.
Я являюсь автором Coils, еще одной клиентской платформы Clojure: