Я немного борюсь, создавая веб-приложение Clojure. Это простое приложение CRUD. Я начал исследовать веб-экосистему Clojure. Я экспериментирую с различными библиотеками, такими как Hiccup, Enlive, Compojure и Noir ( хотя Нойр, похоже, находится на грани обесценения).
Мой вопрос на самом деле два вопроса. Во-первых, это отсутствие у apparant соглашений для создания веб-приложений Clojure. А во-вторых, мне нужны некоторые подсказки по созданию "богатых" компонентов HTML.
То, что мне нравится в Clojure, - это простота создания разных библиотек. Замена призыва с помощью икоты и наоборот - это неважно. Все играет свою единственную и простую роль. Очень отличается от сложной структуры, такой как JSF.
Но есть смысл: эта великая свобода заставляет меня чувствовать себя немного потерянной. В JSF я знаю, где когда-либо есть свое место. Я использую Spring для интеграции всех компонентов, Spring -Security для обработки всего содержимого сеанса. Библиотеки компонентов освобождают меня от стресса, связанного с проблемами html, javascript и ajax.
В частности, вышеупомянутые библиотеки компонентов - это то, что мне не хватает с помощью Clojure. Я обнаружил, что реализую такие вещи, как данные, такие как переменные цвета строк, разбиение на страницы, упорядочение столбцов, инкрементный фильтр и т.д. И это оставляет мне вопросы о том, как синхронизировать состояние браузера и сервера таких компонентов, особенно когда включен ajax. Я не смог найти зрелого ответа в сети.
Преимущество фреймворков: как только вы поняли правила и ограничения, вы можете создать свое приложение и сконцентрироваться на бизнес-правилах. Техническая инфраструктура рассматривается и не должна быть отвлекающей.
Какие предложения существуют для мира Clojure? Является ClojureScript One решение? Я еще не изучил это. Кто-нибудь знает какие-либо библиотеки компонентов, которые предлагают похожие функции, например, RichTaces datatable? Есть ли предпочтительный способ общения с ajax?