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