12

我听说过两个基于 Clojure 的 Web 应用程序框架:Webjure 和 Compojure。有人可以告诉我哪个更好吗?

4

8 回答 8

4

到目前为止,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。

于 2010-05-12T01:04:35.943 回答
4

现在您可以将Ring添加到列表中。所有这些框架都是非常新的,并且可能会迅速发展(或消亡),但 Compojure 似乎确实是过去 6 个月左右开发得最活跃的。

“更好”是一个过于主观的问题,无法得到明确的答案。尝试所有这些,看看什么有效。

于 2009-01-14T06:37:47.443 回答
3

I second Rayne's recommendation on Moustache.

Right now, we are using Ring (base layer, middleware), Moustache (routing), Hiccup (html generation). We just began using Compass for CSS (http://compass-style.org/). So far, I'm happy with this collection of small libraries rather than a big "complete stack" framework (Django, Rails, ect...).

于 2010-09-13T21:05:18.497 回答
3

现在,在 compojure 之上还有一个名为Noir的新版本。真的很推荐,尤其是Heroku

于 2011-08-02T08:19:40.537 回答
2

Compojure 似乎现在最受关注。不一定代表质量,但眼睛最多的可能会发展最快。

于 2009-01-13T00:12:53.883 回答
2

还有我在TryClojure中使用的Mustache和 Ring。这真是太棒了。

于 2010-05-12T23:49:43.487 回答
2

Compojure 基于 Ring,这是一个低级框架,不会尝试隐藏 HTTP 的大部分内容。它类似于 WSGI (Python) 或 Rack (Ruby)。Ring 有一个中间件的概念,即可以对 HTTP 请求和/或响应做一些有意义的事情的小段代码,例如转储头信息、管理 cookie 等。Compojure 是一个更高级别的框架,有点类似于 Ruby 的 Sinatra。它的目的是为 Web 应用程序开发人员面临的大多数任务提供方便的 API(或 DSL,如果您愿意的话)。它通常与诸如 Hiccup 之类的 HTML 生成库一起使用。

在过去的几个月里,我没有听到太多关于 Webjure 的消息,我不确定它是否正在积极开发中(但我有兴趣了解更多信息)。它先于 Ring,AFAICT,它似乎已成为 Clojure Web 框架的某种标准。

于 2010-09-13T20:42:15.160 回答
1

我一直在使用 Compojure 构建一个供我自己使用的项目,并且效果很好。它并没有真正妨碍您,让您专注于重要的事情,即您的问题领域。该项目大约有 1100 行 clojure,只是为了让您了解大小。

于 2010-01-25T17:59:27.880 回答