EWGI和Webmachine都提供了Erlang中HTTP的抽象。我想知道他们的方法中的关键概念差异是什么?
答案 0 :(得分:8)
EWGI为HTTP中间件提供了一个抽象的位置,并且对于比请求/响应对的存在更深的任何东西都是盲目的。这是用于堆叠系统层以构建连贯整体的经过验证的真实模式,但它无助于使整个系统正确或易于理解。
Webmachine包含一个显式模型,不仅用于处理请求,还用于管理HTTP协议本身的内部语义。通过为应用程序开发人员提供一种直观且富有表现力的方式来描述其应用程序的HTTP行为,Webmachine可以非常轻松地创建形状类似于Web并且非常易于理解的系统。
这两个系统可能是互补的。现在Webmachine只使用mochiweb提供的请求和响应,但如果提供了一个允许Webmachine充当EWGI应用程序的可靠补丁,我怀疑它会被接受。鉴于这两个系统的形状,这不应该是一个太大的事业。
答案 1 :(得分:3)
EWGI应该是编写请求处理程序的通用API,这是许多Web服务器实现的API。 EWGI的灵感来自Python的WSGI。
Webmachine只是一个独立的应用程序,它有自己的API,它是单独实现的。