March 06, 2005

Ruby on Rails 快靚正

Ruby on Rails 最近一個開始熱鬧起來的新 Web Application Framework,用的程式語言是 Ruby — 一種極之簡潔有力的語言,而 Ruby on Rails 這個 Framework 則完全很有效地運用這個語言的特質,令到開發 Web Application 的速度快十倍!

我本來也對此一無所知,但拜讀過 ONLamp 兩篇 Rolling with Ruby on Rails Part 1Part 2 ,實在是很驚嘆。在例子中,只要 47 行程式碼,就可以做出一個簡單的 Cookbook 管理系統。而實際上, Ruby on Rails 本身已有不少的 Helper 可以用來 Generate program code,所以寫的會更少。不過,這只是算 Ruby 本身的程式碼,而一些 Html 的 Layout/View 檔案,應該未計算在內。

可以做到這樣少的程式碼,是因為 Framework 本身運用大量的設定動作,定好一系列的 Conventions,只要跟著 Conventions 來做,就可以用多本身已寫好的東西了。在例子中,先要建好一個 Recipes 的 database table,然後用 Helper 建做 名叫 Recipe 的 Controller 和 Model,這樣 Model 就會自動地連駁好 table 中的每一個 field ,而 Controller 只要設定為預先寫好的 Scaffold,就已經完成普通常見的 Table Maintenace 的 CRUD 功能。完全不用寫 SQL,也不用處理 Request 的走向和做 Data binding ,一切都是自動的,只要好好地跟著 Conventions 就可以了。

這是 Ruby on Rails 的其中一個特色: Conventions over configuration 。我自己曾經用過 Struts 和 Spring 這兩個 Web Framework,他們都各有好處,不過兩者都要寫很多的 XML Configuration file 去定義,例如 URL-Controller、Model-Form Mapping等等。這樣的 Configuration 當然是讓開發者可以自己做特別的定義,但事實上很多人用的方法來來去去都是那幾個。 Ruby on Rails 自己定義了一套 Web Application Grammar (可以這樣說吧?),合符文法就可以用一些既有的東西,而不用重新做起。

當然,我只看過這兩篇簡介,並未深入去看,所以也不能說這個 Conventions over Configuration 是不是好東西。 Ruby on Rails 本身也是很新的,出來的時間不夠一年,所以還有待成熟,不過已經有很多應用了: Basecamp43 ThingsTa-da ListsSnow Devil 等等。

有時間的話值得深入研究一下…

相關連結:

由 Jacky 發表於 March 6, 2005 02:48 AM | 引用
本文的引用網址:
http://www.seezone.net/cgi-bin/MT/mt-tb.cgi/283
迴響
發表迴響









記住我的資訊?