Ruby on Rails 與 Grails 之比較(一):簡介
Posted on 2007-04-18 15:01 ZhangJinglin 閱讀(3127) 評論(7) 編輯 收藏 所屬分類: Grails 最近一段時間,Ruby on Rails(以下簡稱ROR)在Java社區(qū)中越來越升溫,所有的Java程序員都為這一敏捷的開發(fā)框架感到驚奇,驚奇ROR所帶來的驚人的開發(fā)效率。ROR的主頁上這樣描述:“Ruby on Rails是一個開源框架,致力于編程的樂趣和生產效率,讓你通過習慣優(yōu)于配置(COC,Convention over Configuration)來編寫優(yōu)美的代碼”。非常棒,通過對ROR的了解,Java程序員發(fā)現編寫程序充滿了樂趣和生產效率的提高。但隨之而來的就是,ROR基于Ruby語言,一種全新的動態(tài)腳本語言,它和Java沒有任何關系,當Java程序員度過了最初的美妙感受后,不得不深入了解Ruby語言。而且,ROR的運行效率現在還沒法和成熟的Java EE相比較,更不用說成千上萬的公司在Java平臺所做出來的投入如何繼承了。
我們可以把目光放得更遠些,Groovy和Grails就進入了我們的視線。
Groovy是一種動態(tài)腳本語言,關鍵是它是基于Java的動態(tài)腳本語言,這就足以讓所有的Java程序員感到興奮了。Grails是基于Groovy的類似于Rails的實現,原本叫做Groovy on Rails,因為商標的問題,稱作Grails。“Grails并不是Rails的克隆,它的目標是為Java程序員提供一個熟悉的類似Rails的開發(fā)環(huán)境,使Java程序員可以利用已有的知識進入動態(tài)框架,以避免帶來巨大的跳躍。比如在Grails中提供了Java程序員非常熟悉的攔截器(interceptors)、標記庫(tag lib)、Groovy Server Page(GSP)等等”。
讓我們深入看以下Grails到底是什么。Grails在底層是基于開源的Hibernate、Spring、SiteMesh的封裝,利用Hibernate實現ORM,利用Spring實現MVC,利用SiteMesh實現頁面的布局。Java程序員看到這些技術應該是最熟悉不過的,而且可以確保的是,這些技術是久經考驗和經過生產驗證的。
如果我們有了基于Java的動態(tài)腳本語言,又有了類似Rails的敏捷開發(fā)框架,而且這個框架又是基于久經考驗的底層框架之上,我們?yōu)槭裁床煌度?/span>Grails的懷抱呢。