Когда использовать Pedestal, Hoplon, Bidi и Route-one?
Я пытаюсь выяснить, какой (Пьедестал, Хоплон, Биди) я должен использовать? В интернете я не нашел ни одной хорошей статьи, которая бы помогла мне с этим выбором.
С https://github.com/juxt/bidi я могу прочитать Пьедестал изоморфен, но Bidi также cljs. Что это означает? В чем разница?
Я нашел compojure слишком просто. Я даже не могу генерировать URL в шаблонах HTML. Я начал искать что-то еще. Я нашел также route-one (библиотеку для генерации URL-адресов, работающих с compojure), но, думаю, скоро я обнаружу, что мне нужно что-то большее, чем снова compojure.
Моя интуиция подсказывает мне выбор между: пьедесталом, хоплоном и биди.
Что мне нужно: я хочу иметь независимую бизнес-модель архитектуры, такую как
http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
http://blog.find-method.de/index.php?/archives/209-Dependency-inversion-in-Clojure.html
Я не хочу, чтобы эта часть кода зависела от какой-либо инфраструктуры. Чем меньше зависимость, тем лучше.
На следующем этапе я хочу внедрить этот модельный бизнес в нечто вроде моста, который будет соединителем с пользовательским интерфейсом. Это может быть время для фреймворка или дополнительных библиотек.
И, по крайней мере, я хочу создать интерфейс пользователя в качестве веб-сайта. Это будет динамический контент с ClojureScript или Mayby статическим. Я не знаю. Я должен думать об обоих.
Когда я узнал об этом в Clojure, мне очень нравится концепция создания собственного набора библиотек на основе моих предпочтений. Но я не хочу писать свой собственный код, чтобы использовать такие вещи, как генерация URL для маршрутов. Так, может, я должен также рассмотреть маршрут один?
Пиши напиши что-нибудь умное, что поможет мне выбрать один или усложнит мне жизнь другим выбором:)
https://github.com/pedestal/pedestal
1 ответ
Это древний вопрос, и я не претендую на то, что у меня есть ответ (тем более "ответ"). Но сегодня вечером я ищу что-нибудь из тех же самых базовых произведений, и мои результаты поиска вернулись с этим ответом.
Так что я решил записать заметки о моем [очень] ограниченном понимании здесь.
Биди выглядит потрясающе. Из того, что я видел, juxt производит очень качественное программное обеспечение. Для мест, где мне нужна маршрутизация интерфейса в стиле REST (которая включает в себя отправку связанных маршрутов назад), это мой текущий выбор GOTO.
Пьедестал - тоже круто. Но, похоже, это совсем другой вариант использования. Маршрутизация - это очень небольшое подмножество здесь (и они попробовали несколько подходов, чтобы придумать действительно хороший набор опций). Похоже, что это скорее низкоуровневая полнофункциональная серверная библиотека для интеграции кода, который вас интересует, с базовыми серверными компонентами, которые вам не нужны.
Если честно, я не уверен, что библиотеки маршрутизации Pedestal действительно поддерживают обратные конечные точки, которые вы должны иметь для REST. Я думаю, что они почти наверняка, но я не уверен. Все мои сценарии использования были посвящены их абстракции цепочки перехватчиков, что потрясающе потрясающе.
Хоплон - я не смотрел на это уже 2-3 года. В то время это выглядело как большая, смелая, высокоуровневая платформа для кухонной мойки, которая где-то в том же поле, что и Ruby On Rails (хотя я думаю, что есть и внешние компоненты). Я писал конечные точки API, и в то время это не подходило. Это заслуживает большего внимания, чем я.
Первый маршрут - я не слышал об этом до этого вопроса. Я получил хорошие впечатления от всего, что я использовал от clojurewerkz, но это использование было очень легким.