sinatra is rmr not mvc

July 24th 2010 - by Wu Jiang

今天看了一大堆为什么不应该使用MVC来建造web应用的文章,有空翻译两个。首先讲一下什么是RMR,RMR=Resource,Method and Representation,就是web最核心的部分,也是现在讲的Restful Web Service里面的重要概念。

为什么不该用MVC来构造Web应用,最大的问题在于交互。传统上MVC用来解决GUI程序编程。Controller单独列出是因为GUI程序有比较复杂的交互性需要,比如键盘敲击,鼠标事件,还有其他的输入设备(这些在js中当然也存在)。而Web应用与外部交互只依靠URI和Method,所以把用于交互的部分提炼出来就显得十分没有必要。而且MVC并没有真正解决复杂的HTTP路由问题,这里不得不称赞Sinatra的路由做的不错。

目前Sinatra的路由功能和“get ‘/'”这样的DSL已经解决了前两个问题。而Representation则需要"get ’/‘, :provides"这样的方式来指定(尚未实验过)。

"Ruby off Rails" 演讲相关资料

March 15th 2009 - by 吴江

本演讲的目的是通过介绍rails 2.3和其他ruby web框架的通用模块rack,引申出轻量级的ruby语言web开发组合。在最后指出通过rails 2.3中的metal特性结合两者,并作了一个简单的速度上的比较。

谢谢Shanghai on Rails的组织,吕国宁的主持,张元一的摄像,还有参加者的支持!

代码库地址
http://github.com/nouse/ruby-off-rails/tree/master

演讲幻灯片地址
http://www.slideshare.net/jiang.wu/ruby-off-rails

演讲视频
Rails之外的web开发:rack, sinatra和sequel (一)

Rails之外的web开发:rack, sinatra和sequel (二)

Rails之外的web开发:rack, sinatra和sequel (三)

原贴地址 http://masterwujiang.javaeye.com/blog/349637