<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    First they ignore you
    then they ridicule you
    then they fight you
    then you win
        -- Mahatma Gandhi
    Chinese => English     英文 => 中文             
    隨筆-221  評(píng)論-1047  文章-0  trackbacks-0

    對(duì)Grails之誤解

    作者 Geoffrey Wiseman譯者 Jason Lai 發(fā)布于 2007年7月11日 下午8時(shí)30分

    社區(qū)
    Java
    主題
    JRuby,
    Ruby on Rails

    Grails開發(fā)團(tuán)隊(duì)成員Marc Palmer發(fā)表了一篇博客文章,針對(duì)開發(fā)人員對(duì)Grails常見(jiàn)的一些誤解逐一進(jìn)行了說(shuō)明。例如針對(duì)“對(duì)于我來(lái)說(shuō),Grails還不夠成熟”,他這樣回應(yīng):

    針對(duì)這個(gè)誤解,我想不斷增長(zhǎng)的商業(yè)網(wǎng)站數(shù)量就是最好的答案了。同時(shí),Grails也是基于HIbernate、Spring和SiteMesh這些成熟完善的框架構(gòu)建的,更不用說(shuō)作為萬(wàn)年常青樹的Java JDK了。Groovy項(xiàng)目都已經(jīng)有超過(guò)三年的歷史了。

    接著,對(duì)于“Grails使用的是一門解釋型語(yǔ)言(Groovy)”這個(gè)誤解,他談到:

    Groovy在運(yùn)行時(shí)自動(dòng)編譯成Java虛擬機(jī)字節(jié)碼,它絕絕對(duì)對(duì)徹徹底底不是一門解釋型語(yǔ)言。句號(hào)。絕不。我說(shuō)了絕不了么?一點(diǎn)兒也沒(méi)錯(cuò)。

    最后,討論到Grails是否支持Rails的一個(gè)克隆產(chǎn)物,他如是回答:

    Ruby on Rails引入了不少非常好的主意,并將它們合為一體。Grails將其中的一部分應(yīng)用到了Groovy/Java的世界中,但加入了許多Ruby中并不 存在的特性和概念,所有這些東西都是以一種對(duì)Groovy和Java程序員有意義的方式展現(xiàn)給他們的。

    Graeme Rocher順勢(shì)而上,也提出了自己的Grails誤解和問(wèn)題列表,比如說(shuō)“在我們有了JRuby on Rails之后,誰(shuí)還要Grails呢?”:

    這個(gè)問(wèn)題很有代表性,也是對(duì)“Grails到底是什么”最大的誤解之一的根本所在。JRuby on Rails是讓Rails運(yùn)行在像GlassFish這樣的Java EE容器上非常優(yōu)秀的方式之一,就是這樣而已。但Grails的目標(biāo)卻大為迥異,它并不是Rails在Groovy語(yǔ)言上的一個(gè)移植版本,而是將業(yè)界內(nèi)最 為強(qiáng)悍的組件(比如說(shuō)Spring、Hibernate、Quartz、Compass和SiteMesh等)以最佳方式組合起來(lái)的一個(gè)實(shí)踐,并通過(guò)采納 無(wú)配置規(guī)約(Convention-over-Configuration,CoC)使它們符合“不重復(fù)(Don't Repeat Yourself,DRY)”原則。

    我們并不是在重造輪子,而且由于Grails內(nèi)核的絕大部分都是以Java編寫的,它也顯得更加強(qiáng)壯和穩(wěn)定。事實(shí)上,從內(nèi)核角度看Grails是一個(gè) Spring MVC應(yīng)用,可以被部署到所有的主流容器之上,不僅僅只有Glasshfish,還有大型商業(yè)容器,比如說(shuō)WebLogic、WebSphere和 Oracle AS。

    再有,“為什么Grails比Rails更適用于企業(yè)應(yīng)用?”:

    原因很多,最顯著的兩個(gè)原因就是Spring和Hibernate。到目前為止,有不計(jì)其數(shù)的組織在采用Spring和HIbernate,他們都有既有的Spring上下文環(huán)境,以及已經(jīng)構(gòu)造好的Hibernate領(lǐng)域?qū)ο蟮取?br />
    在我開始參與Grails項(xiàng)目之前,我就經(jīng)歷過(guò)同樣的情況。我們?cè)O(shè)計(jì)Grails的目的就是為了讓它和這些框架盡可能無(wú)縫地整合起來(lái)。因此,我們打個(gè)比 方,你可以把一個(gè)用Java編寫的Hibernate領(lǐng)域模型及其對(duì)應(yīng)的配置文件直接扔進(jìn)Grails應(yīng)用中,然后就可以使用動(dòng)態(tài)的查詢方法,并且直接使 用GORM了。

    此外,Grails控制器使用了標(biāo)準(zhǔn)的Servlet API對(duì)象(如request、response和session等),因此可以和其它的Servlet一起使用。畢竟,掀起它的蓋頭之后,我們會(huì)發(fā)現(xiàn)它 不過(guò)是一個(gè)Spring MVC應(yīng)用。另一方面,Rails幾乎是按照和EJB2一樣的方式設(shè)計(jì)的(在我發(fā)現(xiàn)這點(diǎn)時(shí),怎一個(gè)“震驚”二字了得!)。也就是說(shuō),你在擴(kuò)展 ActiveController和ActiveRecord等框架對(duì)象時(shí),你也就被綁定在了這套框架上。

    在Rails里面根本就不存在領(lǐng)域模型的說(shuō)法,Rails的模型就是數(shù)據(jù)庫(kù)表。這當(dāng)然是一件好事了,但在企業(yè)內(nèi)部,同一個(gè)領(lǐng)域模型可能會(huì)在許多不同的應(yīng)用 中服用,比如說(shuō)桌面應(yīng)用和Web應(yīng)用。在Java里,這實(shí)際上是非常成熟完善的,通過(guò)把類對(duì)象及相應(yīng)映射文件打包成一個(gè)JAR文件即可。

    親愛(ài)的讀者,關(guān)于Grails,您還存在什么問(wèn)題嗎?或者您還見(jiàn)過(guò)對(duì)Grails用途的其它誤解么?請(qǐng)?jiān)?a target="_blank">InfoQ的Java社區(qū)與我們一同分享吧。


    原文地址:http://www.infoq.com/cn/news/2007/07/grails-misconceptions

    附:朝花夕拾——Groovy & Grails

    posted on 2007-07-14 13:28 山風(fēng)小子 閱讀(3088) 評(píng)論(2)  編輯  收藏 所屬分類: Groovy & Grails
    主站蜘蛛池模板: 曰曰鲁夜夜免费播放视频| 亚洲精品亚洲人成在线麻豆| 最近中文字幕无吗免费高清| 日本免费久久久久久久网站| 免费人成再在线观看网站| ww亚洲ww在线观看国产| 久久精品国产亚洲麻豆| www.91亚洲| 免费在线观看亚洲| 无码国产精品一区二区免费I6| 日韩免费无码一区二区三区 | 国产大片免费观看中文字幕| 国产在线观看片a免费观看| 午夜视频免费在线观看| 182tv免费视频在线观看| jizz免费在线观看| 边摸边吃奶边做爽免费视频99| 亚洲a视频在线观看| 亚洲高清美女一区二区三区| 亚洲国产精品SSS在线观看AV| 中文字幕亚洲一区二区va在线| 亚洲AⅤ永久无码精品AA| 国产麻豆剧传媒精品国产免费 | 最新亚洲卡一卡二卡三新区| 亚洲国产日韩女人aaaaaa毛片在线| 亚洲成年轻人电影网站www| 国产亚洲精AA在线观看SEE| 三上悠亚亚洲一区高清| 亚洲永久精品ww47| 亚洲熟妇丰满多毛XXXX| 亚洲性猛交XXXX| 亚洲AV中文无码字幕色三| 亚洲成人在线网站| 91情国产l精品国产亚洲区| 亚洲自偷自拍另类12p| 亚洲视频精品在线观看| 亚洲a∨无码男人的天堂| 亚洲AV无码专区在线亚| 欧美亚洲国产SUV| 草久免费在线观看网站| 三级黄色在线免费观看|