Lisp Web框架?

60

有哪些流行的(当然,“流行”是相对的)适用于不同LISP“口味”的Web框架?

16个回答

19

14

4
这不是一个 Web 服务器吗? - Svante
从他们的网站上可以看到:“Hunchentoot是一个用Common Lisp编写的Web服务器,同时也是构建动态网站的工具包。” - Adam Arold

14

10

已经提到了大多数(也许全部)著名的Common Lisp Web框架,所以我只是想添加一些评论。

Hunchentoot在大多数人理解的意义上并不是一个“Web框架”。 它是一个HTTP服务器(非常好的HTTP服务器)。

Drew Crampsie的“Lisp on Lines”看起来非常有前途,但我不确定它有多远。 我一直在等待公告。

Marco Baringer的UnCommon Web在许多著名的CL实现上运行:Allegro CL,CMUCL,Clozure CL(以前称为OpenMCL),GNU clisp和SBCL。唯一缺少的是LispWorks;我不知道这是否意味着它还没有被测试过可以工作,还是已知不能工作,或者是什么情况;但如果它在所有这些其他方言上都可以运行,那么很可能可以轻松地使其在任何其他方言上运行。


8

我曾广泛搜索适用于Lisp的好的Web框架,但它们都有些不易上手。UCW的架构对我来说似乎不太自然(我忘记原因了;我已经很久没研究了),而KPAX貌似已经不再维护(我想)。

符号式Web看起来非常有趣,我认为Weblocks最有意思,但是Weblocks没有很好的文档,对新手来说可能会比较吓人。 我上次看到SymbolicWeb还很不成熟,但从那时起它可能已经进步了一些。现在的特性页面看起来还不错。

你可以采取不同的方法。如果你想要一个纯Lisp的方法,那么你可以:

  • 如果你能熟练阅读代码并理解continuations,则可以尝试使用Hunchentoot作为后端的Weblocks(Weblocks有一个尚未被抽象化的依赖项Hunchentoot)。 据说在一个月或两个月内会有一个真正的用户手册,但是像任何OSS项目一样,这样的承诺并不可靠。
  • 同样,您可以尝试SymbolicWeb。[更新:算了,这个项目已经不存在了]
  • 自行编写。 说真的-有cl-who可帮助生成HTML,有可用的JavaScript和JSON库,usockets、elephant、cl-sql、hunchentoot、aserve,以及许多实用程序库可以供您组合。

如果你接受混合方法,这是我目前正在尝试的:我为Qooxdoo编写了一个Lisp JSON-RPC后端,因此我可以通过像Cherokee这样的超快速http服务器提供纯JavaScript前端,并让Cherokee将连接分配给我想要运行在Lisp中的许多后端json-rpc服务器。非常非常可扩展。我还远未解决错误和挑战,但很容易让它开始工作。 json库使得后端变得非常简单-Qooxdoo本身实际上更难,我认为(但我不是JS开发人员)。

我还将检查来自Allegro的WebActions,因为具有付费支持的可用性有一定吸引力-更不用说Allegro可能是可用的最佳CL实现(His Kennyness使用它 :-))。


8

8

通用Lisp

很多常见的工具(Hunchentoot、UCW、LoL)已经被提到过了。 Franz为Allegro Common Lisp(并移植到其他Lisp中)提供了以下两个选项:

  • 在较低层次上(处理HTTP请求),AllegroServe
  • 在较高层次上(更像是一个“框架”),WebActions

这两个选项都是开源的。我倾向于使用AllegroServe,在需要时提取工具,但有些人真的很喜欢WebActions。

我曾经使用Araneida相当长的一段时间,我更喜欢它的风格而不是AllegroServe,但它自2006年以来就没有得到维护。


7
UnCommonWeb (UCW)经常被提到,它不像当前流行的REST,更像Smalltalk的SeaSide(但是,SeaSide也很流行)。您可以在http://www.common-lisp.net/project/ucw/上了解更多信息。

6

这似乎是一个无效链接。 - hkBst

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接