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?
当前回答
还有“Noir”(http://www.webnoir.org/),这是一个新的Clojure web框架(太新了,文档还没有)。来自Django/Rails,我喜欢简单、直接的语法,它非常精简。
其他回答
另一个有趣的web服务器是Http-kit。它有很好的性能,是ring兼容的,并且也支持WebSockets。它主要是用clojure开发的,缺少Jetty/Tomcat中的一些奇怪的东西。
这很容易修补。
Arachne是一个新的web框架。 引用网站的描述:
Arachne是一个完整的、高度模块化的web开发框架 Clojure。它强调轻松、简单和可靠、可扩展 设计。
它有一个 kickstarter运动 声称提供类似Rails的“入门”体验。它是 由一个Cognitect开发。
这是 与鲁米努斯(瑜伽)的作者进行了很好的讨论。
你也可以看看下面这些框架(摘自clojure/projects):
级联 召唤
关于Stack Overflow还有一个相关的问题:成熟的Clojure web框架?
Compojure是我用来创建一个小型博客应用程序的工具。它以Sinatra为蓝本,Sinatra是一个最小的、轻量级的Ruby web框架。我主要使用的是路由,就像Sinatra的一样。它看起来是这样的:
(GET "/post/:id/:slug"
(some-function-that-returns-html :id :slug))
没有ORM或模板库,但它有将向量转换为HTML的函数。
我已经成功地在生产环境中使用Liberator一段时间了。如果你只是想要一个基本的框架,例如,如果你正在构建一个RESTful web服务或类似的东西,它是一个很好的框架。它本质上是ring和compojure的包装器,并在验证传入请求时提供决策图。与其他更笨重的web框架相比,它的速度也非常快。如果你想快速开始,然后慢慢建立,那么解放者是一个很好的选择。