12/11/2006

Rails 1.2 + REST : 討論 Rails 的核心價值

我還記得以前我跟另外一個人討論 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 到底會帶來什麼樣的革命。或許他也只是個行銷名詞。孟岩先生曾經對這個事情發表評論
Ajax的出现标志着RIA时代逐渐走来,客户端将不再是清一色的HTML页面,也可以是一个Ajax的程序,通过 XMLHttp向服务器发起PUT和DELETE请求。这样,就要求服务器端在四动词的背景下重新思考应用的构造。传统上,服务器端应用只是通过REST 风格将部分服务暴露出来。而Rails 1.2则直接将REST直接作为构建整个Web应用的中心,这才是Rails 1.2的独特之处,也是张显Rails社群离经叛道和卓尔不群的地方。为了要采纳REST风格,Rails 1.2革新了Web应用的构造思想,整个领域建模的思想都有所变化。现在整个Rails社群都应当准备向REST时代迁移。
說實在話,我還是無法很準確的抓住孟先生的點。
因為如果眾多網頁程式設計師對於 REST 的好處跟壞處都不甚明瞭,那要怎麼推行 REST 呢?當大家都不用 REST ,那麼使用 REST 有任何意義嗎?但是看到 DHH 在 2006 Rails Conf 講解了 Rails 1.2 對於 REST 的導入這篇演講
之所以今天我们会在这里聚会,之所以Rails是今天的Rails,恰恰因为我们对很多事情说了“不”,恰恰是因为我们将很多人 拒之门外。如今Rails被越来越多的人接受,但我并不认为因此我们就可以背离先前的原则。所以,尽管我毫无疑问地支持Thomas的很多实用的建议,但 对他的论调则不以为然。我不认为Rails应该向外部世界屈服,恰恰相反,Rails正在有力地让外部世界向我们屈服。
凡事迎合大眾到底是金科玉律,還是庸人的想法。我回想到當我接觸 Ruby on Rails 之前,我似乎也是座落在『ORM毫無意義可言,他一點實用價值都沒有』這一群人。現在的我呢?又到了哪裡去呢?回到 REST 這個話題,到現在為止我還是不知道 REST 能夠為我帶來什麼東西?但是我願意去嘗試看看,因為

到底在 Ruby on Rails 1.2之前,這個世界是沒有 REST 的需求,還是只是我們這些凡夫俗子看不到這樣的需求?


漸漸的我發現到, Ruby on Rails 的核心價值不在於他的方便好用,其實就是在於 DHH 那一句『我不認為Rails應該向外部世界屈服,恰恰相反,Rails正在有力地讓外界世界像我們屈服。』。既然 REST 是一個網頁開發正確的方向 , 大家就勇敢的走下去吧 。不要像個隨波逐流的人們 ,勇敢的向前面繼續邁進吧!

有些人迎合世界的需求,有些人用良好的產品去創造這個世界的需求。

在 iPod 剛推出的那年,所有評論一面倒的偏向『這個世界並沒有任何硬碟式的 MP3 Player 的需求』,現在那些人又到哪裡去了呢?而 iPod 最後成功的原因很多,但是最主要的原因在於他放大硬碟式隨身聽的好處(一次可以將所有的歌放進去),而且他的實做讓硬碟式隨身聽的缺點縮小,所以他成功了。(註1)

同樣的道理 , 真正讓 REST 可以起來的原因,是 Ruby on Rails 到底能不能實做出一個很方便,很好用的 REST 架構?而非去問現在市面上到底有沒有 REST 的需求。當 Rails Team 真的做出一個很棒的 REST 架構的 Framework ,可以放大 REST 架構簡潔的優勢,卻又可以縮小 REST 的缺點,那全世界都會因為 Rails 而轉動,就跟當初的 Active Record 一樣。但是如果有這個需求,但是實做無法吸引大家使用,也不會有人去使用的。加油吧,Rails Team。

延伸閱讀

註1 :

iPod 當初讓評論家否定的原因是因為
  1. 硬碟式隨身聽用電量多,電池恐怕撐不住
  2. 硬碟晃動時容易有挑針的現象
  3. 硬碟歌太多了,你很難用隨身聽這樣的小螢幕選擇幾千首歌。
而 iPod 最後出來的成品 , 我們可以發現到 Apple 用了不少心思讓這些缺點都極小化 , 最有名的例子在於圓形轉盤的設計 , 讓人們可以快速的從第一首選到第一千首 。

沒有留言: