ffr*_*end 11
Leiningen是一个构建工具.像Java世界中的Maven(事实上,它使用了Maven).您可以在其中定义依赖项和配置project.clj,然后运行漂亮的Leiningen命令来下载依赖项,编译代码,运行应用程序等等.
Ring是一个基本的Web框架.您可以将它与JavaEE中的Servlet进行比较.它提供了处理请求的基本功能,但功能不是很高或很多.特别是,它需要您自己编写路线调度.
如果你不想搞砸路由,只需使用Compojure.正如它在GitHub页面上所述,"Compojure是Ring的一个小型路由库,它允许Web应用程序由小的独立部分组成".如果你需要与Java世界进行比较,我认为Spring MVC非常接近是模拟的.
我之前没有听说过Luminus,但似乎它正在试图取代Noir(现在已被弃用).Luminus和Noir都是在Ring和Compojure之上构建的,并进一步扩展了Compojure的功能.
Leiningen是为Clojure开发而优化的构建工具.它主要与Maven回购交互.例如,您可以从project.clj生成pom.xml文件
Ring是用于Web应用程序开发的低级API.例如,它使用map数据结构来包装请求和响应.当然,它提供处理程序,中间件和其他重要的工件.
Compojure提供了一个优雅的路由库.大部分时间,它与Ring一起使用.
Luminus是许多Clojure库的集合,可帮助您开始在Clojure中开发Web应用程序.
这些元素之间的差异已经得到了很好的解答,因此我将向您简要介绍一下我对像我这样拥有ASP.NET MVC背景的人的Clojure替代方案的研究.我建议你去探索一下这对夫妇
正如自己的页面所说:
Caribou是一个动态的Web应用程序生态系统,可以轻松地制作生产就绪的Web用户.Caribou在日常需求的火焰中锻造,是Web开发人员每天面临的问题解决方案的集合.其发展背后的理念是解决我们遇到的每一个问题,一般可以反复使用.任何不必要或阻碍的东西都会因不断使用而磨损.
我的简历:一个快速的环境,以某种方式模拟数据结构"面向对象的方式",你有模型和数据层.你可以从.NET中找到更为熟悉的东西,因为它提供了许多可以开箱即用的东西,甚至可以使用模型的Web界面.
Pedestal是一组交互式库,它们共同构成了开发特定类型应用程序的途径.它使开发人员能够使用Clojure构建需要实时协作并定位多个平台的互联网应用程序.简而言之:Pedestal提供了一种更好,更有凝聚力的方式来在Clojure中构建富客户端Web应用程序.寻找标准方法来构建互联网应用程序的Clojurists将喜欢Pedestal.他们现在能够塑造一个单一,一致的形状来匹配他们的视觉,而不是用已经找到的物体来创作艺术品.
我的简历:一个非常实用的方法来开发Web应用程序,设计精良且功能强大,但绝对不熟悉或类似于ASP.NET,真的值得回顾
稍微提一下主题只是提到Liberator以便完成,以防您想要使用Clojure实现REST API.