6

只是看看 Haskell 和 Web 框架,想知道使用 Haskell 强大的线程/事件功能来为编写 HTML5 和 REST 应用程序的平台提供支持是否有意义,这些应用程序公开了数据的 HTTP API 和 WebSocket(可能 SockJS 支持适当的回退) 事件 API?“大”网络框架似乎并不支持将 WebSockets 作为一等公民,尽管它们似乎还有很多其他的事情要做。

我关心的是利用可用的内核,Haskell 可以做得很好,但也为验证和服务器端逻辑在服务器端提供了简单的用户集成(可能通过嵌入 Lua 或类似的方法?)。如果在 JVM 上编写此代码,则可以利用多种服务器端语言支持和大量库来处理这类事情。

我确信人们正在为他们自己的应用程序使用一次性解决方案做这样的事情,但我正在考虑一种 PaaS 类型的方法,在这种方法中,人们可以使用数据编写 HTML5 应用程序(包括离线使用的适当同步)并将“免费”赛事作为平台的基本组成部分。大多数逻辑将驻留在浏览器中,但有些逻辑可以使用适当的钩子和合理的可嵌入性在服务器上运行(JavaScript 似乎不可能,并且不确定在 Haskell 中嵌入解释器,因为我对 Haskell 非常熟悉) .

到目前为止,我在 Haskell 上遇到的部分问题是我不是数学专家。我在大学没有学过计算机科学,我是一个有创造力的思想家。所以很多教程和文档让我很迷茫,尤其是在处理数学问题时。

有人已经走过这条路了吗?我迟到了吗?:)

4

2 回答 2

4

Gregory Collins去年在 CUFP 上提供了一个关于使用 Snap 使用长轮询(不是 websockets)构建交互式聊天网站的教程。源代码在这里

在 websockets 部门,Jasper Van der Jeugt 编写了一个Haskell websockets 库。它在hackage上可用,并附带提供 Snap 框架支持的websockets-snap 。还有wai-websockets提供与 Warp 的集成。

于 2012-06-06T12:57:42.983 回答
2

我相信所有主要框架都具有一定程度的 websockets 支持,因此根据您的要求,它们都应该是一个公平的选择。对于 Yesod,书中提供了一个创建聊天系统(使用事件源,而不是 websockets)的示例:

http://www.yesodweb.com/book/wiki-chat-example

于 2012-06-06T08:37:49.690 回答