是否有一个中等大小的Clojure示例应用程序可以用作“最佳实践”示例,并且是一种很好的方法来查看这样的应用程序在代码和代码组织方面会是什么样子? Web应用程序对我来说特别有趣,但最重要的是该程序执行一些通常有用的东西(例如博客,错误跟踪,CMS),而不是我从未在真实中实现过的数学世界(解决N-queens问题,模拟生命,生成Fibonacci序列,以及功能编程语言的常用功能)。
谢谢!
答案 0 :(得分:40)
我推荐Brian Carper cow-blog。根据作者的说法,这是出于你的目的而写的。
答案 1 :(得分:19)
如果您浏览clojure-contrib源代码,您可以看到如何在clojure中实现库。
您还可以在同一源树下签出“ClojureScript”。
允许代码写得很小 Clojure的子集将自动转换为JavaScript。
ClojureScript翻译器是一个完整的Clojure应用程序。
如果你还没有,我还建议你查看Stewart Halloway的Port of Practical Common Lisp samples to Clojure。
答案 2 :(得分:15)
看看Compojure。它是一个用Clojure编写的Web框架,因此它允许您在Clojure中编写和运行(在嵌入式Jetty上)有用的Web应用程序,并且还可以作为大量实际Clojure代码的一个很好的例子。
它正在积极开发中并且有一个有用的Google Group。
答案 3 :(得分:10)
查看由Clojure作者Rich Hickey撰写的蚂蚁演示:
http://clojure.googlegroups.com/web/ants.clj
以下是一些很好的说明,可以将它与emacs开发环境一起设置:
另请查看Rich的演示文稿以及此代码:
答案 4 :(得分:7)
Clojure本身就是Clojure最佳实践的一个很好的例子。阅读Core.clj的底部,好东西。
答案 5 :(得分:6)
4Clojure是一个open source网站,您可以在其中解决交互式填空Clojure问题。
答案 6 :(得分:5)
我认为Compojure可能是最好的方法。我怀疑它是一个“中等大小”的例子,但是它的小部分可能会起作用。至少,这将是我的方法。 微笑
另外,请查看
http://github.com/technomancy/mire/tree/master
这是一个小的m.u.d.客户端原型构建在clojure中,其优点是它完全独立,可能非常简单,包括所涉及的概念。文档,呃,这是好的,但代码中的概念与M.U.D的行动要素密切相关。这很容易。
答案 7 :(得分:5)
我们距离这个问题还有两年的时间,虽然在语言周期还处于早期阶段,Clojure肯定会被用于严肃的制作工作。在World Singles,我们有几千个Clojure生产线,可以在我们的网络平台上处理各种通用任务 - 我在我的Real World Clojure series中写了这篇博文。
对于一些相当大的开源项目 - 不完全是应用程序,而是高调的基础架构 - 您可以查看Storm from Twitter和Cascalog from BackType(现在是Twitter的一部分)。 4clojure.com已被提及为开源Web应用程序,值得一看,但请注意new github repo for 4clojure。
答案 8 :(得分:3)
一个积极的信号:有一个article on InfoQ关于“首次发布的Clojure报告之一被用于大规模生产部署。”它似乎并不开放,但至少它是Clojure在真实生产世界中用于关键任务应用程序的标志。 Clojure社区迈出了一大步。
答案 9 :(得分:2)
http://code.google.com/p/lighttexteditor/
您可以尝试使用浅色文本编辑器
答案 10 :(得分:2)
您可以在此处查看:http://bitbucket.org/kumarshantanu/blogjure/overview/
这是一个使用Hibernate,Compojure和StringTemplate编写的小型博客应用程序实际上有效!
答案 11 :(得分:1)
我只能建议你查看Pedestal,这是一个非常有前途的Web框架,包括服务器端和客户端(它有助于ClojureScript)。 gui的东西有点难以掌握,但是应该做的事情就是在大型应用程序中保持理智。
答案 12 :(得分:1)
edge是一个中等大小的应用程序,展示了使用Clojure,ClojureScript,Component,Yada,Aero和Boot构建应用程序。
答案 13 :(得分:0)
Clojure仍然太年轻,而且目标还在于拥有可用源代码的中型应用程序。