我想为我的项目使用更多的Haskell,我想如果我可以开始将它用于Web应用程序,那真的会有所帮助。我已经尝试过一次或两次,但在起步时遇到了困难。有更简单/更传统(更像灯)的框架,我可以使用,或者我应该再次尝试一下吗?在Haskell中编写Web应用的最简单方法是什么?
回答
这是a list of web related blog posts about Haskell from the wiki。
此外,下一个大的Haskell网络框架是WASH。
您可以使用CGI和(x)html组合函数库,如wiki的Haskell Web Development文章中所列。可以在Practical web programming in Haskell中找到关于haskell中的web编程的库,框架等更大的概述。
如果你决定去与HApps你可能会想签被开发为HApps应用这个很好的例子驱动教程: HApps Tutorial
的最佳工具2011年是:
各地哈斯克尔Web开发社区已经蓬勃发展对这些社区之间的竞争。
作者即使在这里,比较它们的框架:Comparing Haskell's Snap and Yesod web frameworks
耶索德将是一个不错的选择,你可以找到O'Reilly的Yesod Web Framework Book在线。
WAI,Web Application Interface是一个非常好的基础层,您可以在其上构建应用程序。关于路由,模板等的hackage上有很多很好的库,它们与WAI结合使用,这正是我所做的。
我开发了具有最高功能/代码大小比例思想的MFlow。 MFlow是在没有考虑其他框架的情况下制作的,但是为了解决Web应用程序的问题以极大地降低Web编程中的噪声和错误率,使用Haskell达到了极限。 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"
该状态可以作出持久的一点修改。
- 1. 在haskell中编写facebook应用的最佳方式是什么?
- 2. 什么是编写布尔动画最简单的方法?
- 3. 在JavaScript中编写块作用域的最简单方法是什么?
- 4. 在DesignMode中编辑集合的最简单方法是什么?
- 5. 在QT中编写自定义布局最简单的方法是什么?
- 6. 在java中编写文本文件的最简单方法是什么
- 7. 在Haskell中播放声音样本的最简单方法是什么?
- 8. 什么是创建此Web应用程序的简单方法?
- 9. 使用Chrome文件界面编写文件最简单的方法是什么?
- 10. 什么是Spring应用程序的最简单的main()方法?
- 11. 克隆Web服务的最简单方法是什么?
- 12. 实现简单的Web服务项目的最简单的方法是什么?
- 13. 通过RApache安装R Web应用程序的最简单方法是什么?
- 14. 在jython中提供/使用web服务的最简单方法是什么?
- 15. 部署WPF应用程序最简单的方法是什么?
- 16. 部署Meteor应用程序最简单的方法是什么?
- 17. 在iPhone OS中使用SQLite3最简单的方法是什么?
- 18. 从C++调用Java方法的最简单方法是什么?
- 19. 什么是从Javascript调用C#方法的最简单方法
- 20. 从命令行编译IronPython的最简单方法是什么?
- 21. 显示可编辑词典的最简单方法是什么?
- 22. 为C/C++编写测量剖析器最简单的方法是什么?
- 23. 有了Lua,开始编写代码最简单的方法是什么?
- 24. 找出谁写/编辑这行代码最简单的方法是什么?
- 25. 在JavaScript中编写非阻塞循环的最简洁方法是什么?
- 26. Web应用程序最简单的后端设置是什么?
- 27. 在Web浏览器中运行Eclipse最简单的方法是什么?
- 28. 在ASP.NET MVC中编写表单的最佳方式是什么?
- 29. 使用docx文档中的数据填写Web表单最简单的方法是什么?
- 30. 什么是在非ASP.NET应用程序中生成HTML的最简单方法?
CGI是很简单的,尤其是在运行Apache系统。您只需创建一个可打印出HTML页面(或其中的一部分)的可执行文件。您可以解析url(GET)字符串并使用环境变量从系统获取POST数据。这很简单,但从这些作品构建系统需要努力。 – 2008-12-01 18:56:52