我有一个Web服务的想法,但我对Web编程很新.Django看起来很棒,喜欢我可以快速拿起的东西.我在Haskell方面有很多经验(在python中很少),并希望能够用我最喜欢的语言开始编写一些后端非网络相关的东西.但是,如果我使用django,如果haskell代码不可用,我当然不想这样做.
我一直在看几个haskell web框架:hApps看起来太复杂和没有文档,turbinado看起来平易近人但没有文档等等.我认为使用广泛使用的框架,如django,并且可以访问大量代码,我可以插上电话对我很有帮助.但我非常愿意听到有关框架使用的其他想法,或者我必须以某种方式使用Haskell的其他选项.
这取决于您所说的“网络服务”是什么意思。
如果您指的是典型的 Web 应用程序/网站,您将需要一个简单的数据库接口、HTML 生成、简单的 HTTP 处理、会话和表单处理。为此,您确实需要一个像样的网络框架。
Haskell 没有“好的”Web 框架。(在做出判断时,我考虑了文档、社区、一年内不会被放弃而采用更新的更闪亮方法的可能性等因素)。
如果你的意思是一些不那么“webby”的东西,例如返回地图数据的服务,并且不需要大部分功能,你可以使用Hack甚至Network.CGI之类的东西来为你提供基本的 HTTP 接口,您可以在其上构建您的服务,并使用 CGI/FastCGI 运行。如果您还需要一个动态网站,您可以使用 Django 之类的东西来实现这一点。
您还可以编写从 Django 代码调用的 Haskell 独立可执行文件。但直接的 Python <-> Haskell 互操作不太可能/实用。