比较构架
回答
当我第一次开始与Web开发方面的比较,这是使用Clojure。我有没有以前的网页开发经验在所有。在我的生活中,我无法将Compojure推出。我不知道自那时以来(不久之前)初学者的文档是否有所改进,但当时我无法管理它。一位朋友向我指出了胡须,在阅读了自述文件后,我能够将目前状态下的http://try-clojure.org扔在一起。所以,就易用性而言,我认为小胡子为我准备了蛋糕。
但是,如果this在当时已经存在,我可能会唱不同的曲调。
Conjure看起来很酷,尽管与其他框架的不同。鉴于我在网络开发方面的经验非常有限,我对这个问题没有太多的发言权,但是Conjure对我来说有点不合情理。它只是不觉得正确。这可能只是因为我不习惯它做事情的方式。
更新:这是我写这篇文章的一段时间。很多事情都发生了变化。现在没有多少人使用胡子了,虽然它已经足够完整(并且足够简单),但它仍然可以正常工作,但我现在推荐使用Compojure或Noir来代替它。这两个都是目前维护的框架,并且都非常出色。
更新2:Noir已被弃用了很长一段时间,其大部分功能都转移到一个库中,该库专门用于从基于组合/其他基于环的Web框架lib-noir中使用。
感谢您添加到框架列表中,小胡子对我来说是新的 – 2010-07-24 19:29:34
@ [Adam Schmideg]可能还有更多!这些都是我现在能想到的。他们当然是最受欢迎的。 :) – Rayne 2010-07-25 05:59:14
至于更新,小胡子是活着,很好。它并不需要任何维护,并且在Clojure核心的所有变化中我一直是它的开心用户。 Christophe Grand目前正在发布新版本,并提供更丰富的语法和更多功能。 – 2013-02-05 12:11:02
我知道这个问题有点过时......但我忍不住建议Noir作为一个非常好的选择。
Noir使用Ring,Compojure和Hiccup的组合完成工作。一探究竟!
Noir现已弃用,请参阅:http://blog.raynes.me/blog/2012/12/13/moving-away-from-noir/。作者建议改用Compojure。 – 2013-01-09 09:06:31
根据框架思考可能是一个错误。更好的方法是从图书馆组件的角度思考,为了拥有最适合您需求的“框架”,您将它们放在一起。
我在过去曾经使用过一些框架。他们中的大多数人做得相当不错,可以让你快速启动并运行基本应用程序。然而,无一例外,我发现他们中的所有人都经常感到沮丧。通常这是由于太多的样板或者只是跳过与您的开发应用程序无关的箍。
刚来Clojure时,我开始寻找框架,但后来意识到这是错误的方法。相反,我发现从一个基本的环形应用程序开始,然后根据需要添加库会好很多。这看起来像是一个更大的学习曲线,但实际上它的效率是一样的,因为你不必被迫学习一堆你经常不需要的框架脚手架。
但是,我发现寻找各种框架非常有用,因为它给了我如何最好地整合一个图书馆和更重要的IMO的想法,你如何最好地构建你的lein project.clj文件以最适合你想要的工作流程。
我发现以下模板非常有用。我不使用其中的任何“是”,但已经从很多人的适应/被盗的想法,开发出最适合我的工作
Luminus和Luminus templates应用程序提供了一个非常框架广泛的框架。我发现它们对于很多应用程序来说有点“沉重”,但是有一些很好的例子说明如何将各种Clojure库集成到您的应用程序中。主网站也有一些有用的文件。
Reagent Project,它包括一个试剂模板提供了一个很好的起点用于使用试剂(react.js)ClojureScript支持的应用程序。我发现这是最简单的ClojureScript库之一,用于创建一个具有良好Javascript集成的应用程序。
lein-figwheel是一个非常有趣的模板,它使用figwheel提供clojurescript的动态加载,以便您在修改代码时在浏览器中看到ClojureScript更改。现在许多其他模板已将此功能添加到他们自己的模板中。 Luminus和Reagent模板最初是在Om开发的基础上开发的,现在它们的模板中还集成了Figwheel功能。真正展示了Clojure和ClojureScript对于交互式开发的一些好处。
Compojure Template是一个很好的起点。它建立了一个非常基础的基于组合的项目,包含所有基本组合和组合材料。开始使用Clojure Web开发的好方法,因为它很简单,并允许您在淹没所有其他选项之前专注于基本知识。
还有很多其他的模板和框架,其中很多我还没有时间看。现在,我经常从组合模板或试剂模板开始,然后在需要时添加附加位。我通常还包含模板的selmar,并使用Luminus使用的基本相同的配置。
也许为web开发获得一个好的“框架”最重要的部分是试验和理解lein如何工作和lein project.clj文件。拥有一个好的project.clj文件将决定你的工作流程。拥有正确的配置文件,能够以不同的方式启动repl并加载不同的库,这些库允许您启动figwheel或浏览器repl或生成jar等等,都与您的project.clj文件有关。得到这个权利,你的环境将提供你所需要的工作流程。
尝试快速Web开发框架道路 https://github.com/zhujinxian/road
(defn render-test [ret tmt]
(-> (resp/response "------render----test------")
(#(resp/content-type %1 "text/plain"))))
(defn foo
"I don't do a whole lot."
[x]
(str "来自源码目录的参数:" x))
(defn handler [^Integer x]
{:$r render-test :text (str "hello world, road goes sucess!" (foo x))})
(defn home [req content ^Integer num]
{:hiccup "home.clj" :content (str "home" content) :num num})
(defroad road (GET "/web-test-0.1.0-SNAPSHOT-standalone/main" handler)
(GET "/web-test-0.1.0-SNAPSHOT-standalone/home/:num{\\d+}" home))
(defn -main [& args]
(log/info "---------log4j test-------")
(jetty/run-jetty road {:port 3000}))
- 1. db架构比较
- 2. SQL 2012架构/数据比较在VS2010
- 3. Visual Studio 2010 - 架构比较 - 指定数据库(安全)架构
- 4. Golang结构比较
- 5. 结构比较器
- 6. 比较Java UI框架
- 7. 框架比较和开销
- 8. 比较OSGi测试框架
- 9. 框架比较和开销
- 10. 比较2结构阵列
- 11. 比较目录结构
- 12. 比较三维结构
- 13. 数据结构比较
- 14. Visual Studio 2015更新2和Sql Server 2016架构比较
- 15. 包括但不是删除SQL架构比较
- 16. 排除SSDT比较中的架构级权限
- 17. 项目和快照之间的架构比较
- 18. 哪些CPU架构支持比较和交换(CAS)?
- 19. 如何比较2个企业架构项目.eap?
- 20. Sql power架构师比较两个数据模型
- 21. 来自visual studio 2010的架构和数据比较
- 22. 架构比较获取75%,永不完成,从不超时
- 23. Visual Studio 2010的架构比较 - 更新脚本生成
- 24. 用于架构比较和升级的开源工具脚本
- 25. 德比架构错误
- 26. 比较比较Int
- 27. “索引数组的范围之外”,而通过SQL比较SQL架构比较工具
- 28. java数据库框架比较
- 29. 如何比较Web框架的性能
- 30. JavaScript框架比较:ExtJS,JQWidgets,DHTMLX
不要忘记添加Clojure的上线圈在https://github.com/zubairq/coils也立柱 – Zubair 2013-10-03 08:51:50
今天哪里有这样的立场,接近2013年底? – scape 2013-10-08 15:23:11