Mochiweb是什么,有多么多么好,……这些就别跟着白话了。
想说的是对Mochiweb的感受。
1、Mochiweb相当于Twisted.web,功能强大而用法简单
做到这一点并非易事。inets功能肯定很强,但要用它做应用服务器,必须写许许多多东西,使用起来麻烦。
Yaws有一堆现成的工具,功能也很强,但它的用法复杂死板,要以学习半个Erlang的工夫去掌握它。
Yaws大致相当于Python里的Zope。不过,它还没复杂到像Zope那样让人烦。
与inets和Yaws相比,在性能功能和使用代价的比较上,Mochiweb可算是物美价廉了。
2、Mochiweb的简单用法
以下是我所见到的最简单的用法:
-module(helloweb).
-export([start/0, stop/0]).
start() ->
mochiweb_http:start([
{name, ?MODULE},
{ip, any},
{port, 6500},
{loop, fun(Req) ->
error_logger:info_report([helloweb, {req, Req}]),
Req:ok({"text/plain", "hello world"})
end}
]).
stop() ->
mochiweb:stop(?MODULE).
3、Mochiweb适合做些什么
先来说下它不适合做什么。它不是Web框架,不适合模板填空的MVC方式。
除此之外,凡以浏览器为客户端的服务器程序,都可用它开发。
想用用Erlang,又不愿受其太多约束的,可以试试Mochiweb。