Groovy 是一種動態(tài)語言。這種語言比較有特點(diǎn),它和 Java 一樣,也運(yùn)行于 Java 虛擬機(jī)中。恩??對頭,簡單粗暴點(diǎn)兒看,你可以認(rèn)為 Groovy 擴(kuò)展了 Java 語言。比如,Groovy 對自己的定義就是:Groovy 是在 java 平臺上的、 具有像 Python, Ruby 和 Smalltalk 語言特性的靈活動態(tài)語言, Groovy 保證了這些特性像 Java 語法一樣被 Java 開發(fā)者使用。
除了語言和 Java 相通外,Groovy 有時(shí)候又像一種腳本語言。前文也提到過,當(dāng)我執(zhí)行 Groovy 腳本時(shí),Groovy 會先將其編譯成 Java 類字節(jié)碼,然后通過 Jvm 來執(zhí)行這個(gè) Java 類。圖 1 展示了 Java、Groovy 和 Jvm 之間的關(guān)系。
http://wiki.jikexueyuan.com/project/deep-android-gradle/images/1.jpg" alt="" />
實(shí)際上,由于 Groovy Code 在真正執(zhí)行的時(shí)候已經(jīng)變成了 Java 字節(jié)碼,所以 JVM 根本不知道自己運(yùn)行的是 Groovy 代碼。
下面我們將介紹 Groovy。由于此文的主要目的是 Gradle,所以我們不會過多討論 Groovy 中細(xì)枝末節(jié)的東西,而是把知識點(diǎn)集中在以后和 Gradle 打交道時(shí)一些常用的地方上。
在學(xué)習(xí)本節(jié)的時(shí)候,最好部署一下 Groovy 開發(fā)環(huán)境。根據(jù) Groovy 官網(wǎng)的介紹(http://www.groovy-lang.org/download.html#gvm),部署 Groovy 開發(fā)環(huán)境非常簡單,在 Ubuntu 或者 cygwin 之類的地方:
http://wiki.jikexueyuan.com/project/deep-android-gradle/images/2.jpg" alt="" />
然后,創(chuàng)建一個(gè) test.groovy 文件,里邊只有一行代碼:
println "hello groovy"
http://wiki.jikexueyuan.com/project/deep-android-gradle/images/3.jpg" alt="" />
親們,必須要完成上面的操作啊。做完后,有什么感覺和體會?
最大的感覺可能就是 groovy 和 shell 腳本,或者 python 好類似。
另外,除了可以直接使用 JDK 之外,Groovy 還有一套 GDK,網(wǎng)址是 http://www.groovy-lang.org/api.html。
說實(shí)話,看了這么多家 API 文檔,還是 Google 的 Android API 文檔做得好。其頁面中右上角有一個(gè)搜索欄,在里邊輸入一些關(guān)鍵字,瞬間就能列出候選類,相關(guān)文檔,方便得不得了啊.....