grails 優缺點分析


  Grails是一套用於快速Web應用開發的開源框架,它基於Groovy編程語言,並構建於Spring、Hibernate等開源框架之上,是一個高生產力一站式框架。

  • 易於使用的基於Hibernate的對象-關系映射(ORM)層
  • 稱為Groovy Server Pages (GSP)的表現層技術
  • 基於Spring MVC的控制器層
  • 構建於Gant 上的命令行腳本運行環境
  • 內置Jetty服務器,不用重新啟動服務器就可以進行重新加載
  • 利用內置的Spring 容器實現依賴注入
  • 基於Spring的MessageSource核心概念,提供了對國際化(i18n)的支持
  • 基於Spring事務抽象概念,實現事務服務層

 

grails 優點:

  1、DRY和約定優先於配置的思想,是由Rails興起並迅速被廣泛接收和欣賞的Web框架新思路。

       Grails作為JEE世界的Rails,把這些最前沿的設計理念帶入已顯得陳舊的JEE社區,以及由此帶來的優秀的開發效率。

     Grails中的DRY主要提現在URL映射定義上(URLMappings.groovy)。在 URLMappings.groovy中定義了應用的各個URL以后,通過使用Grails預定義的動態Controller方法和GSP標簽,開發者就 不必再把程序URL硬編碼在各處。

     在約定優於配置方面,Grails和Rails非常相似。所謂約定優於配置,就是按照框架約定的方式來組織資源,就可以免去任何額外的配置。比如 Grails的自定義標簽,存放在應用目錄下的grails-app/taglib路徑下,並以XXXTagLib.groovy的方式命名,就能無需任何配置就可以在GSP里使用這些標簽庫了。另外還有Service類,Job類,包括整個Grails應用的目錄結構,都是約定由於配置原則的體現。在這 些方面JEE開發者一定會為擺脫各種繁瑣的配置感到異常興奮,並且實實在在的節約很多開發時間

  2、JVM支持,性能保障

    通過運行在JVM之上,Grails擁有一個經過多年開發,已經非常成熟,業界標准級別的運行環境。JVM的穩定性和最新版本的性能都已經相當成熟。相比 最直接的比較對象Rails,Grails在運行環境性能上的優勢是比較明顯的。另外,已有的Java可重用組件基本都可以直接使用於Grails,無疑 也是Grails的一個明顯優勢

  3、采用groovy語言開發

    對Grails來說,Groovy是其能夠實現靈活多變的快速開發,區別於其他運行於JVM之上的Web框架的核心技術。

    Groovy的動態特性是其最大亮點,在這方面幾乎不輸於Ruby等其他熱門的動態語言。meta-programming,closure等等熱門的動 態語言特性在Groovy中都有很好的實現。而且,Groovy程序能夠編譯為JVM字節碼的.class文件,直接運行在JVM上,Groovy程序的 性能能夠得到一定的幫助。Groovy能夠和Java混合編寫,混合編譯,使得Java程序員能不用浪費自己在Java語言上的大量投入,更輕松快捷地進 入Groovy的世界。使用Groovy編程,相比使用Java來說快速輕松得多,對為數眾多的Java程序員頗有吸引力

  4、插件系統

    Grails的插件系統也是其亮點之一。首先,和Rails,Django等Web框架類似,基於微內核的思想,插件(可重用模塊)是框架的一等公民。 Grails除了核心模塊以外的功能幾乎都是通過插件方式實現的。實際上,一個Grails插件和一個Grails應用基本是完全一樣的,同樣可以使用grails run-app命令來運行。區別僅在於一個插件的根目錄下需要提供一個FooPlugin.groovy文件,提供插件的一些描述信息

  5、GSP和標簽庫

    Grails前端開發使用的是GSP(Grails Server Pages),開發者可以使用Grails特定的模板語法編寫gsp動態頁面,並且可以直接使用Groovy腳本或是各種預定義和自定義的標簽庫 (taglib)。這么看起來和JSP區別不大,而實際上,Grails帶給開發者的是遠比名字上的區別大得多的開發效率上的進步。

grails 缺點

  6、復合框架整合復雜

    Grails使用多種已有的成熟開源JEE組件,同樣是一把雙刃劍。多種組件整合在一起,出現整合方面的問題的話調試修改都會比較吃力

  7、尚不成熟的社區

    這可能是Grails最關鍵的隱藏的弱點。一個開源項目的成功與否很大程度上取決於其社區。Rails/Ruby,Django/Python,包括 PHP都屬於現今最好的開源社區,活躍的社區對開源項目的成長起到巨大的作用。但是Grails的社區至今還是相當小眾,在人數和質量上都無法和以上三大 社區相比。一個不成熟的社區帶來的一個明顯問題就是Grails項目的開發進度比較慢,相關文檔和資料缺乏

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM