星期二, 1月 02, 2007

學習Ruby三日有感

這三天連假,我都宅在電腦前把OSX、WinXP、Ubuntu上的Rails裝起來。
目前我所查到的資料,台灣以thegiive寫的最多,因此底下的資料多以他寫的為參考。

Ruby語言版本
  1. Ruby Programming中文版是使用1.8.4,此版本與Ubuntu 6.10相同;Windows就直接用最新版1.8.5;在OS X上預設是1.8.2,也沒有重大差別,但我依照RoR網站所推薦的Building Ruby, Rails, LightTPD, and MySQL on Tiger一步步把ruby 1.8.5裝到/usr/local。
  2. 在Win32使用粦、堃等Unicode中文會亂碼,而且在Windows上使用ruby -Ku沒什麼用。若用Notepad存成UTF-8,會因為檔頭會多加3個byte而讓interpreter發生錯誤。我自己使用MadEdit,速度快、可自訂顏色、對各種編碼都支援。
  3. 若使用我個人的建議是用OSX或Ubuntu Linux開發,不會有中文衝碼的問題。OSX中文環境是big5編碼,我把Terminal設成UTF-8。如果要寫一些Console程式,還是用Ubuntu設成zh-tw.UTF-8最好。
心得
  1. Ruby 分大小寫,對VB使用者應該就不習慣吧?
  2. 語法確實很精簡,有點類似Python但又改善空格縮排的缺點,比起駱駝文讓我容易接受。
  3. 內建的文字處理和Collection不錯,可惜尚未提供對Unicode的支援(這點比Java遜太多了吧)
  4. 不愧是比較新的語言,內建closure等很酷的玩意兒。
  5. 實在是頗慢,讓我想再試試GroovyJRuby,這種語言若整合得好,放在JVM裏執行反而會更快吧?
我用的編輯器
  1. Win32:MadEdit、RadRails
  2. OSX:Smultron RadRails。千萬不要用TextMate,中文會糊成一團,Smultron 就很好用。
  3. Ubuntu:Console用vim,GUI用RadRails
參考:TextMate, snippetsEmu for Vim

關於Rails

Ruby on Rails的教學很怪異,http://0.0.0.0:3000 並不是每個平台都適用,至少在Windows必須改成 http://127.0.0.1:3000 或 http://localhost:3000。

安裝

安裝會有很多問題,所以得參考thegiive的文章或ROR網站的相關教學
官方網站沒有這步驟,但我發現在Ubuntu上一定得做才不會有問題: gem install rubygems-update

Ubuntu 6.10 安裝 Ruby on Rails + lighttpd
Ubuntu 上面安裝 Ruby on Rails (精簡版)
Mongrel Win32 HOWTO

資料庫

雖然Rails預設使用MySQL,我也覺得MySQL太肥,而且我的老舊電腦根本跑不動,所以換成SQLite後就過著快樂的日子。
gem i sqlite3-ruby ( gem install sqlite3-ruby)

Rails with SQLite
why SQLite and how SQLite
Rails 的 Migrations

開發用OS

我覺得都差不多,雖然速度稍微有差,反正都不算快:P 只要不像我一樣想在Console使用UTF-8字元則沒太大差別。不過若使用IDE時建議還是將編碼改成UTF-8。
參考:該選擇那個 OS 作為 Ruby on Rails 伺服器的環境?

心得
  1. 實在是很棒的架構,除了簡單外又有資料庫整合的功能,讓我想起快被人遺忘的AOLServer。最強的部份就是內建ORM和Migrations,不知道還有什麼驚喜。
  2. 雖然簡單,要整個架構弄熟得花不少功夫,不會比JSP/Servlet簡單。
  3. 成熟度仍有待考驗,對於一般企業內部需求是否能符合?
  4. 安裝太麻煩,尤其在Ubuntu上。許多部份需要native程式支援,若全用Ruby不是比較簡單?這點就比不上Tomcat方便。怕麻煩的人還是安裝速成包Instant Rails之類比較方便。

2 則留言:

匿名 提到...

>> Notepad存成UTF-8,會因為檔頭會多加3個byte

應該是因為UTF-8 BOM的關係吧?只要用Utf8不存成附加BOM就可以了。 :)

鳥毅 提到...

是的,但在下還真不知Notepad可以存成不附加BOM,所以還是用MadEdit