如果羨慕Ruby On Rails可以用動(dòng)態(tài)語言來編碼,但又舍不得Spring、Hibernate這些Javaer深以為傲的框架,那么有一種折中的方案:
    仍然使用Spring+Hibernate框架,而用Groovy/Jython/JRuby來編寫Controller類、Service類、DAO類,并把它們編譯成普通的Java Class文件來使用。
    BuggyBean的blog里用Jython示范了這種方案。

 1.why 動(dòng)態(tài)語言?
 現(xiàn)在的動(dòng)態(tài)語言都已經(jīng)很面向?qū)ο螅蛡鹘y(tǒng)的用來寫寫外圍腳本(測(cè)試,安裝)的script語言已經(jīng)不同,而且Groovy,Jython,JRuby寫成的類除了動(dòng)態(tài)載入外,都可以編譯成靜態(tài)的Java Class文件,所以已能很好的承擔(dān)J2EE應(yīng)用里業(yè)務(wù)類的角色了。

 動(dòng)態(tài)語言有什么好處呢,請(qǐng)參看<Groovy寫業(yè)務(wù)類、框架類的那一噸好處>

    2. 八卦:各種動(dòng)態(tài)語言的Java實(shí)現(xiàn)
       Groovy
BeanShellJython(Python),JRuby(Ruby),Rhino(JavaScript),
      Jacl(TCL),Bistro(SmallTalk),Kawa(Lisp/Schema)

 3.哪種動(dòng)態(tài)語言?
    Jython總是若斷若續(xù),氣若游絲的樣子,而且現(xiàn)在都才移植到Jython2.1,比Python2.4 慢了幾拍,很信不過。

 JRuby呢? Dion Almaer在JRuby0.8.2發(fā)布時(shí)說:"The day JRuby gets up to Jython levels, and then C Ruby levels, will be a great day.",字面上JRuby比Jython還要不靠譜。
     Ruby還有一個(gè)不好是暫時(shí)沒有好的IDE(連那個(gè)收費(fèi)的ruby-ide都好弱),如果沒有好的IDE,可以抵消掉大部分語言本身的優(yōu)勢(shì),真不能想像Ruby On Rails是用怎么個(gè)UltraEdit級(jí)的編輯器寫出來的。

   Groovy的弱勢(shì)是1.0正式版還沒有發(fā)行,用戶社區(qū)還不大。

    因?yàn)楝F(xiàn)在選的是Java框架下嵌入哪種動(dòng)態(tài)語言作為業(yè)務(wù)類。所以Python和Ruby的用戶社群和大量的已有項(xiàng)目作用不是很大。而Groovy比起兩位舶來品,
    1.作為私生子,嵌入性理所當(dāng)然是最好的,兩者的關(guān)系曖昧得不得了。
    2.另一個(gè)天然優(yōu)勢(shì)是能兼容Java的語法,把Java代碼copy到Groovy幾乎不作什么修改(only不支持throws定義語句和Inner Class),團(tuán)隊(duì)的學(xué)習(xí)曲線平滑。
    3.因?yàn)椴皇且浦岔?xiàng)目,語言升級(jí)時(shí)沒有時(shí)間差,不用看移植人的臉色。

    so,我會(huì)選Groovy,等它的正式版出來之后。