GWTGoogle Web工具包
Google 網(wǎng)頁(yè)工具包——GWT 提供了一組基于Java語(yǔ)言的開(kāi)發(fā)包,這個(gè)開(kāi)發(fā)包的設(shè)計(jì)參考Java AWT包設(shè)計(jì),類(lèi)命名規(guī)則、接口設(shè)計(jì)、事件監(jiān)聽(tīng)等都和AWT非常類(lèi)似。熟悉Java AWT的開(kāi)發(fā)者不需要花費(fèi)多大的力氣就能夠快速的理解GWT開(kāi)發(fā)工具包,將更多地時(shí)間投入到GWT應(yīng)用的開(kāi)發(fā)過(guò)程中。
開(kāi)發(fā)出來(lái)的Java應(yīng)用將由GWT開(kāi)發(fā)包提供的編譯工具編譯后聲生成對(duì)應(yīng)的、應(yīng)用了Ajax技術(shù)的Web應(yīng)用,Java應(yīng)用中出現(xiàn)的、和服務(wù)器之間的交互動(dòng)作被自動(dòng)生成的異步調(diào)用代碼所代替。
GWT特性
GWT除了支持將應(yīng)用Java語(yǔ)言開(kāi)發(fā)的應(yīng)用轉(zhuǎn)化為Ajax應(yīng)用,同時(shí)提供了更多的高級(jí)特性,下面是這些特性的簡(jiǎn)單描述。
1. GWT編譯器
GWT編譯器是GWT的核心,負(fù)責(zé)完成將Java代碼翻譯很Ajax內(nèi)容的工作。GWT編譯器能夠翻譯Java語(yǔ)言的大部分特性。包括支持Java 語(yǔ)言中的基本類(lèi)型、違例處理等,支持java.lang包和java.util包中的絕大部分類(lèi)和接口,支持正則表達(dá)式和序列化。
2. 跨平臺(tái)支持
如果你使用GWT中提供的顯示組件(比如Button)和組裝組件(比如VerticalPanel),GWT編譯生成的Ajax應(yīng)用能夠支持大部 分的瀏覽器和操作系統(tǒng),比如Internet Explorer、Firefox等,也能夠支持Linux、Windows等不同操作系統(tǒng)。這是因?yàn)镚WT最大限度的將這些控件翻譯成瀏覽器內(nèi)置的類(lèi) 型。比如Button類(lèi)編譯后生成的是標(biāo)準(zhǔn)HTML。
GWT建議使用CSS修飾頁(yè)面元素的顯示效果。GWT的類(lèi)中很少提供訪問(wèn)頁(yè)面元素樣式屬性的方法,我們可以直接在CSS文件中通過(guò)對(duì)應(yīng)的樣式名稱(chēng)來(lái) 設(shè)置頁(yè)面元素的默認(rèn)顯示效果。比如使用 .gwt-Button { font-size: 150%; } 使用Button元素的默認(rèn)顯示效果。
3. 宿主模式(Hosted Mode)
宿主模式是指我們和沒(méi)有轉(zhuǎn)換為Ajax應(yīng)用的GWT應(yīng)用交互的狀態(tài)。當(dāng)我們開(kāi)發(fā)和調(diào)試時(shí),我們就一直處在宿主模式下。在這種情況下,Java虛擬機(jī)使用GWT內(nèi)置的瀏覽器運(yùn)行GWT應(yīng)用編譯后的class內(nèi)容,因此能夠提供"編碼、測(cè)試、調(diào)試"過(guò)程的最佳速度。
我們可以運(yùn)行com.google.gwt.dev.GWTShell啟動(dòng)宿主模式。
4. Web模式(Web Mode)
Web模式是指已經(jīng)成功轉(zhuǎn)化為Ajax應(yīng)用的狀態(tài),這種狀態(tài)下,我們已經(jīng)開(kāi)始通過(guò)Web方式來(lái)訪問(wèn)Ajax應(yīng)用了。
在Web模式下運(yùn)行時(shí),不再需要GWT工具包或者JVM的支持。
5. 命令行工具
GWT工具包中提供了幾個(gè)非常適用的小工具來(lái)幫助我們更快的建立GWT應(yīng)用開(kāi)發(fā)環(huán)境:projectCreator、applicationCreator、junitCreator。
projectCreator
創(chuàng)建在Eclipse中開(kāi)發(fā)GWT應(yīng)用所需要的項(xiàng)目基本文件和可選的Ant buildfile文件。applicationCreator
applicationCreator命令用于創(chuàng)建基本的HelloWorld!應(yīng)用和GWT應(yīng)用開(kāi)發(fā)環(huán)境。junitCreator
生成junti測(cè)試代碼。
通過(guò)上面的內(nèi)容,我們已經(jīng)了解了GWT工具集工作的基本原理和主要特性。有些迫不及待了吧,那么就請(qǐng)隨我一起進(jìn)入GWT應(yīng)用開(kāi)發(fā)的過(guò)程吧,享受應(yīng)用Java語(yǔ)言開(kāi)發(fā)Ajax應(yīng)用帶來(lái)的簡(jiǎn)單和便利。
本文中所有的環(huán)境準(zhǔn)備、實(shí)例開(kāi)發(fā)和說(shuō)明均針對(duì)Windows操作平臺(tái),如果使用其他的操作系統(tǒng),請(qǐng)根據(jù)實(shí)際情況進(jìn)行適當(dāng)?shù)恼{(diào)整。
