3

大多数 Haskell Web 应用程序框架似乎都专注于在服务器上做很多工作(模板、表单等)。然而,其他大多数人似乎都在客户端上移动越来越多的应用程序,并通过狭窄的 REST API 与服务器通信。

我正在寻找构建一个主要在客户端上运行的网络应用程序。我想将客户端基于Backbone.js(或类似的),并使用 JavaScript 模板库完全在客户端上进行 HTML 模板。

我想在 Haskell 中实现服务器端,最好使用 Snap 框架。

有没有人尝试过以这种方式使用 Snap 框架?如何在 Snap 中使用 GET、POST、PUT、DELETE 方法实现基本的 REST API?或者我应该为我的服务器选择比 Snap 更简单的东西吗?

4

1 回答 1

4

我有一个基于 Snap 的网站,它使用了相当多的客户端代码。它可能没有你想象的那么广泛,但它确实证明了这一点。我建议将 javascript 作为静态文件提供服务。您可以使用 Snap 的方法函数过滤 HTTP 方法。这是您如何使用它的一个想法:

fooHandler = method GET getter <|>
             method POST poster <|>
             method DELETE deleter
  where
    getter = ...
    poster = ...
    deleter = ...

然后,您可以简单地通过为其添加路由来使用它:

addRoutes [ ("foo", fooHandler), ... ]
于 2012-05-29T17:02:06.443 回答