2015-05-31 2 views
1

I Я пытаюсь выяснить, какой из них (пьедестал, Hoplon, Bidi) использовать? Я не нашел в Интернете хорошей статьи, которая поможет мне в этом выборе.При использовании пьедестала, Hoplon, Bidi и Route-one?

От https://github.com/juxt/bidi Я могу прочитать Пьедестал изоморфен, но Bidi также является cljs. Что это значит? В чем разница?

I найти compojure слишком просто. Я даже не могу создавать URL-адреса в шаблонах HTML. Я начал искать что-то еще. Я нашел также route-one (библиотека для создания URL-адресов, работающих с compojure), но я думаю, скоро я обнаружим, что мне нужно что-то большее, чем compojure.

Моя интуиция говорит мне, что я выбираю между: Пьедестал, Хоплан и Биди.

W шляпа мне нужно: Я хочу, чтобы иметь независимую бизнес-модель архитектуры как

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

Я не хочу зависеть эту часть кода с любых рамок. Меньшая зависимость лучше.

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

И, по крайней мере, я хочу создать интерфейс пользователя в качестве веб-сайта. Это будет динамический контент с ClojureScript или может быть статическим. Я не знаю. Я должен сказать об обоих.

W шляпа, которую я обнаружил в Clojure. Мне очень нравится концепция создания собственного набора библиотек на основе моих предпочтений. Но я не хочу писать свой собственный код, чтобы использовать такие вещи, как генерация URL-адресов для маршрутов. Так может быть, я должен также рассмотреть маршрут-один?

P аренды написать что-то умное, что поможет мне выбрать один или усложнить мою жизнь с каким-то другим вариантом, чтобы выбрать :)

https://github.com/juxt/bidi

https://github.com/pedestal/pedestal

https://github.com/tailrecursion/hoplon

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

+2

Привет, Кабра, этот вопрос, вероятно, слишком широк. Можете ли вы сузить то, что вы просите, и более четко о своих собственных требованиях? –

+0

Это может быть сложно, потому что я не знаю, чего не знаю :) Что я узнал из вчерашнего дня: bidi и route-one - это библиотека маршрутизации. Маршрут-один очень прост, биди работает также с интерфейсом ClojureScript. Пьедестал и Hoplon - более сложные инструменты. Пьедестал больше сосредоточен на бэкэнд-сайтах, таких как приложения RESTful. Hoplon больше ориентируется на внешнюю сторону. Тем не менее оба делают то же самое. Правильно ли это? – kabra

ответ

1

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

Итак, я решил, что буду записывать заметки о моем [очень] ограниченном понимании здесь.

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

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

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

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

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