欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Rails 1.2 + REST : 讨论 Rails 的核心价值 RailsRESTRubyORMiBATIS 

程序员文章站 2024-01-11 23:07:28
...

作者:thegiive,Taipei, Roodo, TW

 

<o:p></o:p>

我 还记得以前我跟另外一个人讨论 ORM 的时候,还有人说到 『ORM毫无意义可言,他一点实用价值都没有』。的确在那时的世界里面,ORM是被视为拖累框架速度的凶手, ORM无法像 SQL 语法一样完全处理各种不同的情况,ORM没有任何实用的必要,他只是一个科学家的玩具而已。但是 Ruby on Rails 一推出,在如此漂亮方便好用的 ORM 之下,彷佛任何网页开发架构没有 ORM 好像就逊了一截。于是每个新出的 Framework 开始学习 Ruby on Rails,加入 Active Record 类似的机制,彷佛 ORM 是所有 Framework 必须也是必要的机制。

到底在 Ruby on Rails 之前,这个世界是没有 ORM 的需求,还是只是我们这些凡夫俗子看不到这样的需求?

当我提到 Rails 1.2 导入 REST 的时候,大家的问题又变成『为什么要用 REST?』『REST 有其它的好处吗?』,其实说实在话,我不知道 REST 到底会带来什么样的革命。或许他也只是个营销名词。孟岩先生曾经对这个事情发表评论

<o:p></o:p> 

Ajax 的出现标志着RIA时代逐渐走来,客户端将不再是清一色的HTML页面,也可以是一个Ajax的程序,通过 XMLHttp向服务器发起PUTDELETE请求。这样,就要求服务器端在四动词的背景下重新思考应用的构造。传统上,服务器端应用只是通过REST 风格将部分服务暴露出来。而Rails 1.2则直接将REST直接作为构建整个Web应用的中心,这才是Rails 1.2的独特之处,也是张显Rails社群离经叛道和卓尔不群的地方。为了要采纳REST风格,Rails 1.2革新了Web应用的构造思想,整个领域建模的思想都有所变化。现在整个Rails社群都应当准备向REST时代迁移。

<o:p></o:p> 

说实在话,我还是无法很准确的抓住<st1:personname w:st="on" productid="孟">孟</st1:personname>先生的点。因为如果众多网页程序设计师对于 REST 的好处跟坏处都不甚明了,那要怎么推行 REST 呢?当大家都不用 REST ,那么使用 REST 有任何意义吗?但是看到 DHH 2006 Rails Conf 讲解了 Rails 1.2 对于 REST 的导入这篇演讲<o:p></o:p>

之 所以今天我们会在这里聚会,之所以Rails是今天的Rails,恰恰因为我们对很多事情说了,恰恰是因为我们将很多人 拒之门外。如今Rails被越来越多的人接受,但我并不认为因此我们就可以背离先前的原则。所以,尽管我毫无疑问地支持Thomas的很多实用的建议,但 对他的论调则不以为然。我不认为Rails应该向外部世界屈服,恰恰相反,Rails正在有力地让外部世界向我们屈服。<o:p></o:p>

凡 事迎合大众到底是金科玉律,还是庸人的想法。我回想到当我接触 Ruby on Rails 之前,我似乎也是座落在『ORM毫无意义可言,他一点实用价值都没有』这一群人。现在的我呢?又到了哪里去呢?回到 REST 这个话题,到现在为止我还是不知道 REST 能够为我带来什么东西?但是我愿意去尝试看看,因为

到底在 Ruby on Rails 1.2之前,这个世界是没有 REST 的需求,还是只是我们这些凡夫俗子看不到这样的需求?

渐 渐的我发现到, Ruby on Rails 的核心价值不在于他的方便好用,其实就是在于 DHH 那一句『我不认为Rails应该向外部世界屈服,恰恰相反,Rails正在有力地让外界世界像我们屈服。』。在 iPod 刚推出的那年,所有评论一面倒的偏向『这个世界并没有任何硬盘式的 MP3 Player 的需求』,现在那些人又到哪里去了呢?追根究底,iPod 当初让评论家否定的原因是因为<o:p></o:p>

  1. 硬盘式随身听用电量多,电池恐怕撑不住<o:p></o:p>
  2. 硬盘晃动时容易有挑针的现象<o:p></o:p>
  3. 硬盘歌太多了,你很难用随身听这样的小屏幕选择几千首歌。<o:p></o:p>

iPod 最后成功的原因很多,但是最主要的原因在于他放大硬盘式随身听的好处(一次可以将所有的歌放进去),而且他的实做让硬盘式随身听的缺点缩小,所以他成功了。

有些人迎合世界的需求,有些人用良好的产品去创造这个世界的需求。

真 正让 REST 可以起来的原因,是 Ruby on Rails 到底能不能实做出一个很方便,很好用的 REST 架构?而非去问现在市面上到底有没有 REST 的需求。当 Rails Team 真的做出一个很棒的 REST 架构的 Framework ,可以放大 REST 架构简洁的优势,却又可以缩小 REST 的缺点,那全世界都会因为 Rails 而转动,就跟当初的 Active Record 一样。但是如果有这个需求,但是实做无法吸引大家使用,也不会有人去使用的。加油吧,Rails Team

延伸阅读<o:p></o:p>

<o:p> </o:p>

<o:p>原发表处:http://lightyror.blogspot.com/2006/12/rails-12-rest-rails.html</o:p>