webjure против compojure? - PullRequest
       25

webjure против compojure?

12 голосов
/ 12 января 2009

Я слышал о двух платформах веб-приложений на основе Clojure: Webjure и Compojure. Может кто-нибудь дать мне знать, что лучше?

Ответы [ 8 ]

4 голосов
/ 12 мая 2010

Compojure до сих пор работал очень хорошо для меня. Мне нравится простота дизайна, гибкость и тот факт, что он поощряет хороший идиоматический функциональный стиль.

Пример сервера:

(use 'compojure)

(defroutes my-app
  (GET "/index.html"
    (html 
      [:h1 "Hello World!!"]
      [:body "This is some text"]))
  (ANY "*"
    [404 "Page not found"]))

(run-server {:port 80}
  "/*" (servlet my-app))

Обратите внимание, что Compojure использует Ring внутри.

4 голосов
/ 14 января 2009

Теперь вы можете добавить Ring в список. Все эти фреймворки являются очень новыми и, вероятно, будут развиваться (или умирать) быстро, но Compojure, похоже, наиболее активно разрабатывается на основе последних 6 месяцев или около того.

«Лучше» - вопрос слишком субъективный, чтобы на него можно было дать однозначный ответ. Попробуйте их все и посмотрите, что работает.

3 голосов
/ 02 августа 2011

Теперь есть еще один с именем Noir build поверх compojure. Очень рекомендуется, особенно с Heroku .

3 голосов
/ 14 сентября 2010

Я вторая рекомендация Рэйна по усам.

Прямо сейчас мы используем Кольцо (базовый слой, промежуточное ПО), Усы (маршрутизация), Икота (генерация HTML). Мы только начали использовать Compass для CSS (http://compass -style.org / ). Пока что я доволен этой коллекцией небольших библиотек, а не большим фреймворком с полным стеком (Django, Rails, ect ...).

2 голосов
/ 14 сентября 2010

Compojure основан на Ring, который является низкоуровневой средой, которая не пытается скрыть большую часть HTTP. Это похоже на WSGI (Python) или Rack (Ruby). В Ring есть концепция промежуточного программного обеспечения, небольших кусков кода, которые могут сделать что-то значимое с HTTP-запросом и / или ответом, например, информацию о заголовке дампа, управление файлами cookie и т. Д. Compojure - это высокоуровневая структура, чем-то похожая на Sinatra Руби. Его цель - предоставить удобный API (или DSL, если хотите) для большинства задач, стоящих перед разработчиком веб-приложения. Обычно используется вместе с библиотекой генерации HTML, такой как Hiccup.

Я мало что слышал о Webjure за последние несколько месяцев, я не уверен, что он находится в активной разработке (но мне было бы интересно узнать больше). Он предшествует Ring, AFAICT, который, похоже, стал своего рода стандартом для веб-фреймворков Clojure.

2 голосов
/ 13 мая 2010

Существует также Усы , которые я использую в TryClojure вместе с Ring. Это довольно круто.

2 голосов
/ 13 января 2009

Compojure, кажется, получает наибольшее количество шума прямо сейчас. Не обязательно свидетельствует о качестве, но тот, у которого больше всего глаз, вероятно, будет развиваться быстрее всего.

1 голос
/ 25 января 2010

Я строил проект для собственного использования с помощью Compojure, и он отлично работал. Это не очень мешает и позволяет вам сосредоточиться на том, что важно, вашей проблемной области. Проект составляет около 1100 строк clojure просто чтобы дать вам представление о размере.

...