目前成熟的Clojure web框架有哪些选择?我正在寻找某种功能矩阵,告诉我流行的框架支持什么以及支持的程度,包括:
发布于 2010-08-24 06:49:37
用my answer开发Clojure web服务的良好起点是什么?关于SO的问题可能会对你有所帮助。它提到了Clojure的一些重要的web库(有链接和简短的摘要)。我想在此重申的要点,在答案的第一段已说明:
首先,我认为您不太可能找到一个单一的收缩包装解决方案来在Clojure中完成所有这些工作(除了通过互操作使用的Java库的形式)。Clojure的标准Web堆栈将由许多库组成,人们以各种方式混合搭配这些库(因为它们往往是完全兼容的)。
对此,我要补充的是,您可能不应该期望使用Java中可能知道的那种“应用程序流”来处理事情(或者,如果您认为自己确实需要它,那么您可能必须使用自己的库来支持它!)。不过,这没什么,因为人们似乎对Ring的处理程序即函数、高阶中间件友好的方法非常满意。
要解决问题,请执行以下操作:
有许多特定于Clojure的解决方案,包括Enlive和Hiccup (Enlive是一个非常强大的HTML抓取/模板/转换引擎;Hiccup是一种用于在Clojure中编写HTML的DSL,具有快速呈现的良好特性)。此外,这可能是一个非常有意义的地方,可以直接使用Java语言,并使用诸如StringTemplate之类的东西。这甚至有好的一面,不鼓励模板和逻辑的混合!(我相信Stuart Halloway已经提到过Relevance -他的公司--正在他们的工作中使用这种策略,并取得了巨大的成功。)
我想那应该是Sandbar吧。作者已经开始了关于它的a series of blogposts,它看起来非常promising.
这是Ring & Compojure和/或Moustache。
作为Java (来自above.
如上所述,在Clojure中人们并不倾向于做一些事情。
作为学习Clojure web栈的起点,Ring的作者Mark McGranaghan的this Ring tutorial是非常有用的。Compojure的作者James McGranaghan在Compojure上有some documentation。也许my recent answer对compojure路由背后的“大想法”的问题也可能是有帮助的。Ring的来源还包括一个很好的规范文档。
发布于 2011-11-28 13:25:18
由于这个问题最初是被问到/回答的,Noir web framework已经成为一个很有前途的解决方案。
它为模板部分使用了hiccup,但提供了一个更完整的框架。
来自Noir主页的基本代码示例:
(ns my-app
(:use noir.core)
(:require [noir.server :as server]))
(defpage "/welcome" []
"Welcome to Noir!")
(server/start 8080)
发布于 2013-11-26 09:03:39
我会推荐你使用Luminus,不是因为它的名字很棒,还因为它的特性。
由于Noir不再维护,因此我不建议您使用它。从ring & Compojure开始构建你自己的框架也是一个很好的选择。
https://stackoverflow.com/questions/3551805
复制相似问题