I suppose this is a strange question to the huge majority of programmers that work daily with Java. I don't. I know Java-the-language, because I worked on Java projects, but not Java-the-world. I never made a web app from scratch in Java. If I have to do it with Python, Ruby, I know where to go (Django or Rails), but if I want to make a web application in Clojure, not because I'm forced to live in a Java world, but because I like the language and I want to give it a try, what libraries and frameworks should I use?


当前回答

另一个有趣的web服务器是Http-kit。它有很好的性能,是ring兼容的,并且也支持WebSockets。它主要是用clojure开发的,缺少Jetty/Tomcat中的一些奇怪的东西。

这很容易修补。

其他回答

Arachne是一个新的web框架。 引用网站的描述:

Arachne是一个完整的、高度模块化的web开发框架 Clojure。它强调轻松、简单和可靠、可扩展 设计。

它有一个 kickstarter运动 声称提供类似Rails的“入门”体验。它是 由一个Cognitect开发。

这是 与鲁米努斯(瑜伽)的作者进行了很好的讨论。

Compojure是我用来创建一个小型博客应用程序的工具。它以Sinatra为蓝本,Sinatra是一个最小的、轻量级的Ruby web框架。我主要使用的是路由,就像Sinatra的一样。它看起来是这样的:

(GET "/post/:id/:slug"
  (some-function-that-returns-html :id :slug))

没有ORM或模板库,但它有将向量转换为HTML的函数。

还有“Noir”(http://www.webnoir.org/),这是一个新的Clojure web框架(太新了,文档还没有)。来自Django/Rails,我喜欢简单、直接的语法,它非常精简。

到目前为止,我所遇到的最好的Clojure web框架是Compojure: http://github.com/weavejester/compojure/tree/master

它很小,但功能强大,并且具有漂亮优雅的语法。(它在底层使用Jetty,但它对您隐藏了Servlet API,除非您需要它,但这种情况不会经常发生)。去看看那个URL的README,然后下载一个快照并开始播放。

Reframe和om。接下来可能就是你要找的了。