利用假期在家的時間,找了一本書看,Manning出版的《Ruby for Rails - Ruby Techniques for Rails Developers》。 偶爾在網上googling一下RoR,找到這么一張有趣的圖:

這張圖的意思大致也就是說,目前的圖書中,關于Java, Java EE的書簡直就是多如牛毛,而關于Ruby和RoR的書只有2本(我現在在看的,算是第3本吧,O'Reilly也有一本關于RoR的書,算是第4本)。 但是RoR這個新應用框架卻正在以狂風暴雨之勢席卷 Web 開發社區,特別是Java和PHP。
匯總一下網上的以及自己從書中看到的資料:
- 什么是Ruby?
Matsumoto Yukihiro ("Matz")是Ruby這個編程語言的發明人,他從1993年起便開始著手Ruby的研發工作,1993年2月24日Ruby誕生,1995年12月Matz推出了Ruby的第一個版本Ruby 0.95。Ruby 是一種動態編程語言,它在許多方面類似于 Perl、Python 和 Smalltalk,但是它是自成體系的,Ruby成功的組合了Smalltalk的優雅以及Python的易用性,還有Perl的實用主義。Java 和 PHP 編程人員應該可以很輕松的掌握這一語言。
Ruby 的歷史不短,先于在1995 年便為公眾知曉的 Java 和 PHP。所以盡管 Ruby 是一個成熟的語言,卻不如其它語言普及。這造成了 Ruby 編程語言陣營并不如 Java、PHP 和 Perl 陣營強大(這也是上面這張圖展示出來的現狀)。
- 什么是Rails?
Rails是一個用來開發以數據庫為后臺的Web應用的開源框架。 David Heinemeier Hanson 發明的 Rails 框架是 Ruby 誕生以來最受歡迎的應用程序,Ruby 社區推廣能力不濟的頹勢也得到了扭轉。Rails 將 Ruby 編程語言擴展為極其適用于 Web 開發的領域特定語言。它還借用了 ActiveRecord 擴展,將對象關系持久性引入了 Ruby 語言。
Rails使用了嚴格的 Model-View-Controller (模式-視圖-控制器)體系結構,贏得了自尊且醉心于設計模式的Java程序員的尊敬 - 這是 J2EE 開發人員對其情有獨鐘的原因; 同時 Rails 可以非常方便地構建基礎系統 - 這是它吸引 PHP 開發人員的原因。
但Rails有它自己的一些薄弱的地方: 從數據庫角度來看,Rails 有一些非常明顯的缺陷。Rails 對數據庫布局和應用程序需求作了許多假定。比如,Rails 假定所有表都使用一個非復合的主鍵。它不支持復合主鍵也不支持雙步提交(two-phase commit),它只能用于單個數據庫后端的情況。
- RoR的優勢?
Ruby on Rails最大的優點就是在于簡單!RoR的核心思想就是"更少的編程,更簡單的配置!"
- 安裝和配置非常簡單,不象Java需要安裝運行環境,安裝應用服務器,然后再進行一大堆的配置。Ruby只需要裝一個簡單的解釋環境就可以了。RoR避免了繁雜的XML配置文件,你的應用程序和數據庫里已經包含了所有Rails需要的東西。
- 編碼簡單,很多代碼都是可以自動生成,可以自動生成MVC,可以自動生成框架、Web服務。甚至你只要寫上一行代碼就可以實現以前使用Java上百行代碼的工作量,越少的編程量就意味著越少的bug。
- RoR穩定嗎,適合企業應用嗎?
企業應用需要的是穩定和高效。 Ruby和PHP一樣,屬于解釋性語言。 目前使用PHP來開發的Web應用,適合于企業應用的不少,blog系統和討論組系統也都大量使用PHP。 配合Ruby的RoR在效率上應該沒有什么問題。 至于穩定性,目前還沒有什么實際的數據可以來討論。
【相關鏈接】
Ruby: http://www.ruby-lang.org/en/
Rails: http://www.rubyonrails.org/