Erlang应用程序需要暴露出来Web Service接口,你该如何处理?需要做复杂点的页面展现你又将如何选择?不同规模解决方案解决不同规模的问题,这里的问题其实是你要选择哪个Web Server,你要选择哪个Web Framework?
Erlang Web Servers
现在(2012-10-27)还处于活跃开发状态的Web Server有:Mochiweb Yaws Cowboy
Mochiweb
一句话介绍: MochiWeb is an Erlang library for building lightweight HTTP servers.
Mochiweb在Erlang项目中被当做一个Web组件被广泛使用(比如RabbitMQ的plug-in),它的设计相当收敛,除了基础的Web请求处理没有提供特别复杂的功能集(后面会提到其它Web Server).目前我已经在两个项目中使用了Mochiweb,得心应手.
Mochiweb项目代码有很多值得学习的地方,比如 mochiglobal [ 链接 ],Parameterized module [链接]今年夏天我把Mochiweb代码打印了一份,看得很是过瘾.这里有一篇实战风格的入门文章:A practical introduction to MochiWeb - Alex Marandon[链接]
使用Rebar很容易编译运行,里面自带一个简单的Echo demo,你可以使用Rebar快速建立起来自己的站点框架,动手试试吧
Cowboy
一句话介绍: Cowboy is a small, fast and modular HTTP server written in Erlang.
使用Cowboy需要通过编写Handler来定制如何处理Web请求.这是它设计上的一大特色.项目源码自带了N种版本的hello_world,也是可以非常快上手.编译运行依然是rebar搞定,这个项目现在保持更新,每天都能收到github推送的代码变更邮件.
YAWS