19

我想在我的项目中更多地使用 Haskell,我认为如果我可以开始将它用于 Web 应用程序,那真的会有所帮助。我已经尝试过一次或两次,但在起步时遇到了麻烦。是否有更简单/更传统(更像灯)的框架可供我使用,还是我应该再试一次?

4

8 回答 8

16

截至 2011 年的最佳工具是:

围绕 Haskell 的 Web 开发社区一直在这些社区之间的竞争中蓬勃发展。

作者甚至在这里比较他们的框架:比较 Haskell 的 Snap 和 Yesod Web 框架

于 2011-04-17T19:22:29.817 回答
4

如果您决定使用 HApps,您可能需要查看这个正在开发为 HApps 应用程序的优秀示例驱动教程: HApps 教程

于 2008-09-16T00:59:59.177 回答
4

我以最高功能/代码大小比的想法开发了 MFlow。MFlow 没有考虑其他框架,而是最大限度地使用 Haskell 来解决 Web 应用程序的问题,从而大幅降低 Web 编程中的噪音和错误率。MFlow 应用程序中的整个导航在编译时是安全的。它使用标准网络库:WAI、formlets、stm、blaze-html..

自己判断:这是一个包含三页的完整应用程序。在一个循环中,它要求两个数字并显示总和。您可以随意按下后退按钮:

module Main where
import MFlow.Wai.Blaze.Html.All

main= do
   addMessageFlows  [("sum", transient . runFlow $ sumIt )]
   wait $ run 8081 waiMessageFlow

sumIt= do
   setHeader $ html . body
   n1 <- ask $  p << "give me the first number"  ++>  getInt Nothing
   n2 <- ask $  p << "give me the second number" ++>  getInt Nothing
   ask $ p << ("the result is " ++ show (n1 + n2)) ++> wlink () << p << "click here"

只需稍作修改,即可使状态持久化。

http://hackage.haskell.org/package/MFlow

这里有例子:http: //haskell-web.blogspot.com.es/

于 2013-04-26T09:08:50.923 回答
3

这是来自 wiki 的有关 Haskell 的网络相关博客文章列表

此外,下一个大的 Haskell Web 框架是WASH

并且有一个基于域特定语言的 Apple webobjects

于 2008-09-09T06:21:32.253 回答
2

Web 应用程序接口WAI 是一个非常好的基础层,您可以在其上构建应用程序。有很多关于 hackage 的不错的库,用于路由、模板等,它们与 WAI 结合使用效果很好,这就是我所做的。

于 2012-10-22T18:43:13.253 回答
1

您可以使用 CGI 和 (x)html 组合库,如 wiki 的Haskell Web Development文章中所列。可以在 Haskell 中的实用 Web 编程中找到有关 Haskell中 Web 编程的库、框架等的更大概述。

于 2008-09-15T15:16:46.410 回答
1

Yesod 将是一个不错的选择,您可以在线找到 O'Reilly 的Yesod Web Framework Book

于 2012-10-21T09:54:42.610 回答
0

还有Hope(链接已贬值),尽管它似乎没有像HAppsWASH那样获得那么多的牵引力。然而,该网站也已经安静了大约一年。

于 2008-09-16T08:52:44.047 回答