Когда использовать 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/juxt/bidi

https://github.com/pedestal/pedestal

https://github.com/tailrecursion/hoplon

https://github.com/clojurewerkz/route-one

1 ответ

Это древний вопрос, и я не претендую на то, что у меня есть ответ (тем более "ответ"). Но сегодня вечером я ищу что-нибудь из тех же самых базовых произведений, и мои результаты поиска вернулись с этим ответом.

Так что я решил записать заметки о моем [очень] ограниченном понимании здесь.

Биди выглядит потрясающе. Из того, что я видел, juxt производит очень качественное программное обеспечение. Для мест, где мне нужна маршрутизация интерфейса в стиле REST (которая включает в себя отправку связанных маршрутов назад), это мой текущий выбор GOTO.

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

Если честно, я не уверен, что библиотеки маршрутизации Pedestal действительно поддерживают обратные конечные точки, которые вы должны иметь для REST. Я думаю, что они почти наверняка, но я не уверен. Все мои сценарии использования были посвящены их абстракции цепочки перехватчиков, что потрясающе потрясающе.

Хоплон - я не смотрел на это уже 2-3 года. В то время это выглядело как большая, смелая, высокоуровневая платформа для кухонной мойки, которая где-то в том же поле, что и Ruby On Rails (хотя я думаю, что есть и внешние компоненты). Я писал конечные точки API, и в то время это не подходило. Это заслуживает большего внимания, чем я.

Первый маршрут - я не слышал об этом до этого вопроса. Я получил хорошие впечатления от всего, что я использовал от clojurewerkz, но это использование было очень легким.

Другие вопросы по тегам