web-services - 使用 Lisp 的 Web 服务

标签 web-services rest lisp

我对使用 Lisp 来支持现代 RESTful Web 服务很好奇,但考虑到许多变体和实现,很难知道从哪里开始。

我确信有人在使用 Lisp 开发与网络相关的应用程序(只是在 SO 上浏览这里的问题表明)但我想知道的是是否有更适合的 Lisp 实现与其他网络服务相比?( native unicode 支持,例如,内置的网络相关库、性能等)

我不是在寻找 unicode“hacks”或网络框架。我最感兴趣的是开箱即​​用。尽管我对 CLISP 上的 Common Lisp(作为本科计算机科学类(class)的一部分的通用多项式计算器)有一些小经验,但我没有使自己与任何 Lisp 派生或实现保持一致。很高兴知道这个问题是否有特别好的选择,尤其是那些以这种方式实际使用过 Lisp 的人。

最佳答案

Racket 的标准库包含一个 web server library .我玩过它,但觉得它不适合我喜欢的使用 Lisp 的交互方式。它确实有一些不错的特性,例如基于延续的控制流,因此值得一看。

从个人经验来说,Common Lisp是web开发的不错选择。这就是我的博客实现的地方。Hunchentoot简单而强大,非常 Lispy。交互式编程的支持以及可以想象的一样,并且有用于 Websockets 之类的插件(虽然我还不需要)。

也就是说, 中的 Web 编程 Clojure 同样令人愉快。我已经使用 Clojure 和 Noir 为我的家人实现了一个基于网络的社区中心。 .从风格上看,Noir 非常类似于 Hunchentoot 和 cl-who 的组合。 .作为奖励,访问 Java 库会非常有用。 (在我的例子中,实现 OpenID 登录支持,这对于 Common Lisp 来说是困难的,而对于 Clojure 则轻而易举。)因此,如果您的应用程序需要与第三方 Web 服务或数据格式交互,我建议采取好好看看 Clojure。

REST 接口(interface)在 Hunchentoot/Noir 风格的网络框架中也很容易实现。 Racket的web server这方面我不好判断,因为我对它还不够熟悉。

关于web-services - 使用 Lisp 的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10056482/

相关文章:

ruby-on-rails - 带有 REST API 的 Ruby on Rails

recursion - lisp中的递归函数出错

Java EE TDD 起点

c# - 如何在我的 Web 服务 POST 方法中反序列化 JSON

php - 使用 PHP SoapClient 调用 Web 服务 - 如何?

Clojure let 与 Common Lisp let

lisp - Gettin ZeroMQ 在 Windows 中使用 LISP

java - 使用 Metro 2.1 的 Tomcat 7.0.11 上的 WSServlet ClassNotFoundException 错误

web-services - Web 服务应该是事务性的吗?

java - 如何从 REstAssured 中的 Json 数组中获取 JSON 对象