我在前兩年就一直在網路上看到Ruby on Rails這個字,但一直沒有去深入了解它是什麼?直到最近因為覺得用PHP來做資料庫驅動的網站,需求改變的時候,要修改起來真的很辛苦。又正好看到IT Home上的一篇介紹Ruby on Rails的文章,提到使用Ruby on Rails開發會比PHP快五到十倍,而且在Computer World的報導裡名列2007年最應該了解的技術第一名,所以就決定開始好好了解一下Ruby on Rails,看看它到底有什麼能耐。
Ruby on Rails其實是一套以Ruby程式語言開發的網頁應用程式架構。Ruby是由日本人松本行弘於1995年發佈的一套程式語言,特色是完全物件導向、靈活有彈性、有豐富的程式庫、簡單易讀的語法,還有各種小訣竅能夠讓程式碼更簡短。
而Ruby on Rails是由37 Signals的David Heinemeier Hansson在開發BaseCamp線上專案管理軟體時,因為對既有的框架不滿意,而為資料庫網站開發量身定做出來的架構。Ruby on Rails於2004年7月時以開放原始碼的方式發佈,很快的就得到廣大的迴響。在Windows, Mac, Linux上都能夠運作,資料庫與Web Server的選擇性也很多。
Ruby on Rails的觀念在於利用慣例優於組態(convention over configuration),軟體精簡(less software)與越快越有生產力(programmer happiness ultimately leads to better productivity)。
Ruby on Rails是完全的Model-View-Control架構,資料庫、程式邏輯與呈現完全清楚的分離。在檔案名稱與目錄結構方面,也都定義的很清楚。資料庫這部份(Active Record)是Ruby on Rails最強大的功能,只要設定好資料庫連結,之後建立、調整Schema或是其他存取都是直接由Ruby on Rails去控制,不用由我們親手去動資料庫,資料庫裡的欄位也能和Ruby on Rails裡的變數直接對應,不用再像用php的時候,和SQL語法一大堆冒號、引號奮戰。另一個可以加快速度的特點在於自動產生使用者界面的程式碼(scaffold功能),這代表我們只要把定義好資料庫和要作的動作,Ruby on Rails就會為我們產生使用者界面,我們只要專注在真正要解決的問題上,而不用花太多時間在建立使用者界面上。
在測試方面也是Ruby on Rails的強項,它可以為我們自動建立測試檔案及資料庫,加速測試流程,確保程式品質。
不過它能帶來的好處,還是要親自試試看才知道!下一篇在和大家介紹怎麼用最簡單的方式在Mac OS X建立Ruby on Rails的開發環境。
Ruby on Rail中文網站
http://rubyonrails.org.tw/
PS: 官方網站上的影片範例很精彩,15分鐘就能開發一個部落格系統、5分鐘就寫好一個Flickr Mashup。





ror好像是很好玩的東東呢~~
用慣PHP的人也可以試著用一下 cakephp 啦,雖然還沒有像ROR那麼「優雅」,用起來感覺也還不賴喔;)
RoR很有趣,如果深入去玩,會覺得好像在玩RPG遊戲般,可以感受到他將很多開發的工作有調理的整理出來。
另;在mac下用textmate真的是很酷阿,超好用的。效率高,又不像IDE會消耗系統資源
Hello,我叫Tyler
我是個Mac重度重毒者:)
我開了一家小遊戲開發公司(http://www.maru-works.com)
RoR真的很好玩說..有空來切磋一下:)
最近有個機會可以做Flash手機遊戲,想來研究Flash Lite….以後會常常來報到:)
To kuni,
你說得沒錯,不過TextMate的祕訣我還有很多要去發掘。
To Tyler,
歡迎歡迎!
忘了講…我這兩天買了N95…
http://zh.wikipedia.org/wiki/交響情人夢
已經把Theme改成OSX了,
鈴聲也改成動畫版”交響情人夢”的片尾曲
今天我的Mac還用N95的3G Modem上網
而且更新了Papago到1.5版
正在研究如何用Mac直接對N95輸入中文
不知阿修是否也買了N95..(從另外一個部落格http://n95user.blogspot.com覺得有可能)
catalyst
http://catalyst.perl.org/
功能更強
欢迎高手光临 http://www.ruby-china.cn
沒接觸過RoR
有點疑惑來請教一下
請問
如果寫好一個網站之後
怎樣的環境能讓他運作呢?
一般所租用的虛擬主機是否可行@@?
(我一直都是寫PHP 有租用一個Linux虛擬主機)
我需要找一位寫ROR的網路程式設計師 請問是否知道有朋友在兼差?火或者那裡可以找到part time 的程式設計師 請與我聯絡leahalbany@gmail.com 謝謝