考虑在生产中学习和使用的Erlang Web框架

时间:2009-11-25 06:16:29

标签: web-applications frameworks erlang

我几天前开始学习Erlang,这绝对是一门非常有趣的语言,非常适合网络开发(至少是后端)。我将尝试并最终解决一个Erlang Web框架用于我的下一个项目。由于Erlang是“new”,因此很难决定使用哪个框架(即缺少文档和博客文章)。到目前为止,我的googleing已经返回了3个结果,我想知道任何有Erlang经验的人(特别是Erlang web开发)请评论每个框架的优缺点并添加任何缺少的框架。

项目要求:

  1. 网络应用
  2. 数据库
  3. HTTPs的
  4. 存储文件(例如图片)
  5. PDF操作
  6. 动态逻辑比较(例如LHS == RHS等)
  7. Erlang网络框架:

    1. Nitrogen(目前为止首选)
    2. Erlyweb
    3. BeepBeep
    4. Chicago Boss
    5. Erlang Web
    6. webmachine
    7. Erlang数据库:

      1. Mnesia(目前为止首选)
      2. CouchDb
      3. MongoDB
      4. Concrns:

          • JavaScript生成

            由于Nitrogen会在页面上生成并嵌入JavaScript代码,从而增加了页面大小。我不确定是否有可能以某种方式从原始html“分离”生成的JavaScript代码(以某种方式它可以被浏览器缓存),以减少传输到网络上的数据。但我认为一般情况下,事件模型和自动线事件非常适合应用程序类型,但对于内容/公共对象类型则不是那么多。

5 个答案:

答案 0 :(得分:13)

This博客文章比较了一些Erlang Web框架。

答案 1 :(得分:6)

就我个人而言,我使用mongodb(因为它具有本机erlang驱动程序和其他优点)和webmachine用于URL调度。我喜欢有非常简单的线框HTML的想法,并且主要是从webmachine和mongodb管道JSON到前端,由JQuery或其他任何东西处理。然而,另一个有趣的前端是卡布奇诺。

答案 2 :(得分:3)

我正在使用CouchDb。这是我写的a quick start guide。它是俄语,但代码示例很清楚。我选择了这个数据库引擎,因为它是在Erlang上编写的,并且有不同开发语言的文档,示例和库。

我正在使用BeepBeep,因为它是我发现的最轻量级框架。 Earlyweb对我的任务来说太大了。

答案 3 :(得分:0)

VoltDB(http://voltdb.com/)是一个开源&商业数据库,ACID,可扩展和非常高的吞吐量(领先的OLTP DBMS的50倍)。 VoltDB最近开发了Henning Deidrich开发的erlang客户端API。只需加入论坛即可找到henning。

答案 4 :(得分:-1)

如前所述,VoltDB大规模提供极高性能的OLTP功能(事务和ACID)。 http://community.voltdb.com/getinvolved#svn

有一个Erlang客户端库