看了上一篇可能會有些混淆: 整個 Wide World Web 可以概觀看成 REST 架構,但是微觀看 Web 就不完全是了。來看看 Rails 的 URL routes 設計: 指定Controller之後指定action,基本上它是個程序性(procedural)的框架,我們利用URI syntax來決定執行什麼動作。然而 Web 基本上不是個 procedural 環境,而是 RESTful 的,但是就像你在物件導向的環境中仍然可以寫 procedural code,你也可以在 RESTful 環境中作 procedural,只是很不幸的會失去一些RESTful的優點而已。
不過這不表示Rails不夠好,事實上目前任何 web application 框架要成功,都必須支援 procedural 的開發,這是因為基本上目前存在的主流框架都是 procedural 的,人們也都習慣於procedural開發。目前的潮流只有在部分需要做 web service 的地方,會在SOAP之外另外提供REST方法(提供XML格式),在整個網站上使用RESTful仍不多見。因此除非看到有人率先做出成功的RESTful 網站吧,雖說 RESTful is right way,但是它的觀念與大家已經會的 procedural 有著根本上的差異,所以這種改變跟限制到底能提供多少實際好處呢? anyway… 走在時代尖端的 Ruby on Rails 註定會走這對的一步 (事實上是併行: 你可以用本來的方法設計,也可以用RESTful方式)。 閱讀全文〈RESTful Design 雜談〉