论坛首页 编程语言技术论坛

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

浏览 10648 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-12  

作者: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>

   发表时间:2006-12-12  
rails不是要推广rest,更不是activerecord
rails只是用自己认为正确的方式做web开发

enjoy rails
0 请登录后投票
   发表时间:2006-12-12  
在ROR之前,难道ORM还不够深入人心?
谈的太虚了,或者说什么都没谈
0 请登录后投票
   发表时间:2006-12-12  
dennis_zane 写道
在ROR之前,难道ORM还不够深入人心?
谈的太虚了,或者说什么都没谈


我想hibernate虽然很成功,但是并没有像大家想象的那样深入人心。在以前的ORM里,拿的出手的大体有hibernate和ibatis两个(toplink等不在考虑),hibernate管的事情太多了,生成的sql又臭又长(robbin语),而ibatis管的事情太少,还得我自己亲自来写那些又臭又长的sql。
而相反ror的ActiveRecord好像做的那么恰到好处.正如东家之子云云
0 请登录后投票
   发表时间:2006-12-12  
dennis_zane 写道
在ROR之前,难道ORM还不够深入人心?
谈的太虚了,或者说什么都没谈


沒錯 , 我也覺得我談的沒啥技術含量 , 所以我沒這個膽發表到這裡來 
這篇與其說我在評論技術? , 還不如說我在 murmur 比較好
而且我發現我的文章重點有點失焦了

不過這篇我想講的是
我很欣賞 DHH 一副  老子就是要世界跟著我走的氣魄   
0 请登录后投票
   发表时间:2006-12-12  
REST的意义不在于做一个网站,而在于网站间的互相调用变得异常直接。网站间的调用,也可以理解成不同系统间的调用。

比如一个公司的CRM、workflow、财务系统、website...可以是一套大系统,那样太繁杂,也可以是分别几个独立的系统(decoupled systems),但是互相调用metadata就会非常不方便。一般有这么几种方式实现(从差到好排序):
1、A系统直接调B系统的数据库
2、用程序访问B系统的网页,取出A系统需要的东西
3、各系统把经常要访问的功能写成web service
4、各系统做一套api
5、REST

上面的例子说的是公司系统,大众网站也是如此,如果大家都用REST,mashup也会更容易,好的应用会更多。
0 请登录后投票
   发表时间:2006-12-12  
For cvu
感謝 , 受教了
0 请登录后投票
   发表时间:2006-12-13  
很明显,楼主还没有对rails中的RESTful学习和实践过,所以谈得太~~~~~虚了!

相信你研究一下REST会更有见地的阐述这个问题。
0 请登录后投票
   发表时间:2006-12-13  
dongbin 写道
很明显,楼主还没有对rails中的RESTful学习和实践过,所以谈得太~~~~~虚了!

相信你研究一下REST会更有见地的阐述这个问题。

dongbin对REST有什么高见,可以发表一下,作一些阐述,谢谢
0 请登录后投票
   发表时间:2006-12-13  
lighter 写道
dongbin 写道
很明显,楼主还没有对rails中的RESTful学习和实践过,所以谈得太~~~~~虚了!

相信你研究一下REST会更有见地的阐述这个问题。

dongbin对REST有什么高见,可以发表一下,作一些阐述,谢谢
http://dongbin.iteye.com/blog/38856
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics