是否有一个中型 Clojure 示例应用程序可以用作“最佳实践”示例,并且可以很好地了解此类应用程序在代码和代码组织方面的外观?
Web 应用程序对我来说特别有趣,但最重要的是该程序执行一些常用的有用操作(例如博客、错误跟踪、CMS),而不是我从未在应用程序中实现过的数学操作。现实世界(解决 N 皇后问题、模拟生活、生成斐波那契数列,以及函数编程语言的常见功能)。
我推荐 Brian Carper 的 cow-blog。据作者称,这是出于您的目的而写的。
如果您浏览 clojure-contrib 源代码,您可以看到库是如何在 clojure 中实现的。
您还可以在同一源代码树下查看“ClojureScript”。
允许用非常小的代码编写 Clojure 的子集将自动翻译为 JavaScript。
ClojureScript 翻译器是一个完整的 Clojure 应用程序。
我还建议您查看 Stewart Halloway 的 Clojure 的实用 Common Lisp 示例端口(如果您还没有这样做的话)。
看看 Compojure。它是一个用 Clojure 编写的 Web 框架,因此它允许您在 Clojure 中编写和运行(在嵌入式 Jetty 上)有用的 Web 应用程序,并且还可以作为大量现实 Clojure 代码的一个很好的示例。
它正在积极开发中,并且有一个很有帮助的 Google Group。
查看由 Clojure 作者 Rich Hickey 编写的 ant 演示:
http://clojure.googlegroups.com/web/ants.clj
这里有一些关于如何设置它以及 emacs 开发环境的很好的说明:
另请查看 Rich 的演示文稿以及此代码:
Clojure 本身就是 Clojure 最佳实践的一个很好的例子。阅读 Core.clj 的底部,好东西。
4Clojure 是一个开源网站,您可以在其中解决交互式 Clojure 填空问题。
我认为 Compojure 可能是最好的例子。我怀疑这是一个“中等大小”的例子,但它可能有一些小的部分可以工作。至少,这将是我的方法。 微笑
另外,请检查一下
http://github.com/technomancy/mire/tree/master
这是一个小泥浆。用 clojure 构建的客户端原型,优点是它完全独立,而且可能非常简单,包括所涉及的概念。文档,呃,没关系,但是代码中的概念与 M.U.D 的动作元素紧密相关。运行起来很容易。
距离这个问题已经过去两年了,虽然对于语言来说还处于早期阶段,但 Clojure 肯定会用于严肃的生产工作。在 World Singles,我们有数千行 Clojure 正在生产中,用于处理我们网络平台中的各种通用任务 - 我在我的真实世界 Clojure 系列中对此进行了博客讨论。
对于一些相当大的开源项目 - 不完全是应用程序,而是引人注目的基础设施 - 您可以查看 Twitter 的 Storm 和 BackType 的 Cascalog (现在是 Twitter 的一部分)。 4clojure.com 已被提及为开源 Web 应用程序,也值得一看,但请注意 4clojure 的新 github 存储库。
一个积极的信号:InfoQ 上有一篇文章,内容是“第一个发布的关于 Clojure 用于大规模生产部署的报告之一”。它看起来并不开放,但至少它是 Clojure 被用于现实生产世界中的关键任务应用程序的标志。 Clojure 社区的一大进步。
http://code.google.com/p/lighttexteditor/
您可以尝试轻量级文本编辑器
您可以在这里查看:http://bitbucket.org/kumarshantanu/blogjure/overview/
这是一个使用 Hibernate、Compojure 和 StringTemplate 编写的小型博客应用程序,确实有效!
我只能推荐你看看 Pedestal,一个非常有前途的 Web 框架,无论是服务器端还是客户端(它有利于 ClojureScript)。 GUI 的东西有点难以掌握,但在大型应用程序中保持理智应该这样做。
edge 是一个中等大小的应用程序,展示了使用 Clojure、ClojureScript、Component、Yada、Aero 和 Boot 构建应用程序。
Clojure 还太年轻,而且是一个不断变化的目标,无法拥有具有可用源代码的中型应用程序。