Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 10 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(16)
PLT 方案 具有 内置、基于连续的 Web 服务器。
更新:PLT 方案现在称为 Racket。
PLT Scheme features a built-in, continuation-based web server.
Update: PLT Scheme is now called Racket.
Hunchentoot 也相当普遍
Hunchentoot is also quite widespread
什么是Weblock?
Weblocks 是一个用 Common Lisp 编写的基于延续的 Web 框架。
http://common-lisp.net/project/cl-weblocks/
What is Weblocks?
Weblocks is a continuations-based web framework written in Common Lisp.
http://common-lisp.net/project/cl-weblocks/
大多数(也许是全部)著名的 Common Lisp Web 框架已经被提及,所以我只添加一些评论。
Hunchentoot 并不是大多数人所说的“Web 框架”。 它是一个 HTTP 服务器(一个非常好的服务器)。
Drew Crampsie 的“Lisp on Lines”看起来非常有前途,但我不确定它能走多远。 我一直在等待消息。
Marco Baringer 的 UnCommon Web 运行在许多著名的 CL 实现上:Allegro CL、CMUCL、Clozure CL(以前称为 OpenMCL)、GNU clisp 和 SBCL。 唯一缺少的主要是 LispWorks; 我不知道这是否意味着它还没有经过测试可以工作,或者已知不能工作,或者什么; 但如果它可以在所有其他方言上运行,那么让它在任何其他方言上运行可能很容易。
Most (perhaps all) of the well-known Common Lisp web frameworks have already been mentioned, so I'll just add some comments.
Hunchentoot is not a "web framework" in the sense that most people mean. It's an HTTP server (an extremely good one).
Drew Crampsie's "Lisp on Lines" looks extremely promising, but I'm not sure how far along it is. I've been waiting to hear an announcement.
Marco Baringer's UnCommon Web runs on many of the prominent CL implementions: Allegro CL, CMUCL, Clozure CL (formerly known as OpenMCL), GNU clisp, and SBCL. The only major one missing is LispWorks; I don't know if that means it hasn't been tested to work, or is known not to work, or what; but if it runs on all those other dialects, it's probably easy to make it run on any other.
对于 Clojure 你可以尝试 Compojure。
For Clojure you can try Compojure.
Common Lisp
许多常见的嫌疑人(Hunchentoot、UCW、LoL)已经被提及。
Franz 使 Allegro Common Lisp 可用(并移植到其他 Lisp):
两者都是开源的。 我倾向于使用 AllegroServe,根据需要分解实用程序,但有些人真的很喜欢 WebActions。
我使用 Araneida 已经有一段时间了,相比 AllegroServe 我更喜欢它的风格,但它没有得到维护自2006年以来。
Common Lisp
A lot of the usual suspects (Hunchentoot, UCW, LoL) have already been mentioned.
Franz makes available for Allegro Common Lisp (and ported to other Lisps):
Both are open source. I tend to use AllegroServe, factoring out utilities as I need them, but some people really like WebActions.
I used Araneida for quite some time, and I prefer its style to AllegroServe, but it hasn't been maintained since 2006.
我已经广泛搜索了 Lisp 的优秀 Web 框架,但发现它们都有些难以访问。 UCW 的架构对我来说似乎不太自然(我不记得为什么;自从我研究它以来已经有一段时间了),并且 KPAX 不再被维护(我认为)。
符号网络看起来非常有趣,我认为 Weblocks 是最有趣的,但 Weblocks 的文档不是很好,对于新手来说可能相当吓人。 我上次查看时 SymbolicWeb 还不成熟,但从那时起它可能已经成熟了一些。 功能页面目前看起来相当不错。
您可以采取不同的方法。 如果您想要纯粹的 lisp 方法,那么您可以:
如果您同意混合方法,这是我目前正在尝试的方法:我为 Qooxdoo 编写了一个 Lisp JSON-RPC 后端,因此我可以通过像 Cherokee 这样的超快 http 服务器提供纯 javascript 前端让 Cherokee 将连接分配给尽可能多的在 Lisp 中运行的后端 json-rpc 服务器。 非常非常可扩展。 我还远未弄清楚其中的难题和挑战,但开始工作非常简单。 json 库让后端工作变得非常简单 - 我认为 Qooxdoo 本身实际上更难(但我真的不是 JS 开发人员)。
我还将查看来自 allegro 的 WebActions,因为付费支持的可用性具有一定的吸引力 - 更不用说 Allegro 可能是可用的最好的 CL 实现(他的 Kennyness 使用它:-))。
I've searched quite extensively for a good web framework for Lisp, and I found them all to be somewhat inaccessible. The Architecture of UCW didn't seem very natural to me (I can't remember why; it's been a while since I looked into it), and KPAX isn't maintained anymore (I think).
Symbolic web looks very interesting, and I think Weblocks is the most interesting, but Weblocks isn't very well documented and can be pretty intimidating to the newcomer. SymbolicWeb was immature last time I looked, but it may have grow up some since then. The features page looks pretty good today.
There are different approaches you could take. If you want a purely lisp approach, then you could:
If you are ok with a hybrid approach, this is something I'm experimenting with at the moment: I've written a Lisp JSON-RPC backend for Qooxdoo, so I can serve up pure javascript frontends through a superfast http server like Cherokee and let Cherokee farm out connections to as many backend json-rpc servers running in Lisp as I want. Very, very scalable. I'm far from figuring out the kinks and challenges, but it was pretty straight-forward to get working. the json library makes it stupid simple to get the backend working - Qooxdoo itself is actually harder, I think (but I'm not a JS developer, really).
I'm also going to be checking out WebActions from allegro, because there's a certain allure to the availability of paid support - not to mention that Allegro may be the best CL implementation available (His Kennyness uses it :-)).
UnCommonWeb (UCW) 经常被提及 http://www.common-lisp.net/project/ ucw/ ——它不是目前流行的 REST,更像 Smalltalk 的 SeaSide(但话又说回来,SeaSide 相当流行)。
UnCommonWeb (UCW) is often mentioned http://www.common-lisp.net/project/ucw/ -- it's not REST as is in en-vogue at the moment, more like Smalltalk's SeaSide (but then again, SeaSide is quite en-vogue).
LeftParen
LeftParen
Lisp-on-lines 是一个构建在 CLSQL 和 UCW 之上的 Web 应用程序框架,提供了在许多方面与 Ruby on Rails 类似的应用程序开发模型。 现在可以在 http://versions.tech.coop/lisp-on- 找到它行/。
http://www.cliki.net/lisp-on-lines
http://kevin.casa.cavewallarts.com/LISP/LOL/lol.html
Lisp-on-lines is a web application framework built on top of CLSQL and UCW and provides an application development model similar in many ways to Ruby on Rails. Right now it can be found at http://versions.tech.coop/lisp-on-lines/.
http://www.cliki.net/lisp-on-lines
http://kevin.casa.cavewallarts.com/LISP/LOL/lol.html
对于 Clojure,您可以尝试 Webjure。
For Clojure you can try Webjure.
我刚刚发现了一个名为 Clack 的 Common Lisp Web 框架,并且发现它非常容易上手。
请参阅 http://clacklisp.org/
引用其网站
“Clack 是 Common Lisp 的 Web 应用程序环境,其灵感来自 Python 的 WSGI 和 Ruby 的 Rack。”
Caveman是一个基于Clack的微型Web框架。
I just discovered a web framework called Clack for common lisp and found it quite easy to get started.
See http://clacklisp.org/
Quote from it's web site
"Clack is a web application environment for Common Lisp inspired by Python's WSGI and Ruby's Rack."
and caveman is a micro web framework based on Clack.
另一个很酷(但远非“流行”)的东西是 SymbolicWeb - http://groups。 google.com/group/symbolicweb
Another cool (yet far from "popular") thing to look at is SymbolicWeb -- http://groups.google.com/group/symbolicweb
回复: SymbolicWeb(及其夸张的消亡)
SymbolicWeb 项目页面位于Gitorious 和SymbolicWeb 文章 位于 维基百科。 Google 网上论坛页面肯定已经死了(并且未存档?),但 Gitorious 树显示最近的签入 2010 年 4 月 29 日。 项目页面还提到“一些运行示例”“偶尔可用”,网址为 < a href="http://nostdal.org/" rel="nofollow noreferrer" title="some running Examples">nostdal.org (在我写这篇文章时无法访问,强化了“偶尔”限定符: -) .)
(注意:我不是 SymbolicWeb 用户。我只是在阅读此主题时找到了 SymbolicWeb 链接。)
Re: SymbolicWeb (and its exaggerated demise)
SymbolicWeb project page at Gitorious and SymbolicWeb article at Wikipedia. The Google Groups page is definitely dead (and unarchived?,) but the Gitorious tree shows checkins as recently as 29 April 2010. The project page also refers to "some running examples" being "occasionally available" at nostdal.org (which is unreachable as I write this, reinforcing the "occasionally" qualifier :-) .)
(Note: I'm not a SymbolicWeb user. I just tracked down the SymbolicWeb links while reading this thread.)
Restas 是另一个最近更新的 Web 框架:
http://restas.lisper.ru/en/
概述
Restas is another web framework that has seen recent updates:
http://restas.lisper.ru/en/
Its overview
这个问题有点老了,但我想我应该分享我最近的发现:Hop 语言,它基于方案也比较完整。
This question is a bit old but I thought I'd share my recent discovery: the Hop language which is based on Scheme and is quite complete.