GWT除了支持將應用Java語言開發的應用轉化為Ajax應用同時提供了更多的高級特性下面是這些特性的簡單描述
GWT編譯器
GWT編譯器是GWT的核心負責完成將Java代碼翻譯很Ajax內容的工作GWT編譯器能夠翻譯Java語言的大部分特性包括支持Java 語言中的基本類型違例處理等支持javalang包和javautil包中的絕大部分類和接口支持正則表達式和序列化
跨平台支持
如果你使用GWT中提供的顯示組件(比如Button)和組裝組件(比如VerticalPanel)GWT編譯生成的Ajax應用能夠支持大部分的浏覽器和操作系統比如Internet ExplorerFirefox等也能夠支持LinuxWindows等不同操作系統這是因為GWT最大限度的將這些控件翻譯成浏覽器內置的類型比如Button類編譯後生成的是標准HTML
GWT建議使用CSS修飾頁面元素的顯示效果GWT的類中很少提供訪問頁面元素樣式屬性的方法我們可以直接在CSS文件中通過對應的樣式名稱來設置頁面元素的默認顯示效果比如使用 gwtButton { fontsize: %; } 使用Button元素的默認顯示效果
宿主模式(Hosted Mode)
宿主模式是指我們和沒有轉換為Ajax應用的GWT應用交互的狀態當我們開發和調試時我們就一直處在宿主模式下在這種情況下Java虛擬機使用GWT內置的浏覽器運行GWT應用編譯後的class內容因此能夠提供;編碼測試調試;過程的最佳速度
我們可以運行comgooglegwtdevGWTShell啟動宿主模式
Web模式(Web Mode)
Web模式是指已經成功轉化為Ajax應用的狀態這種狀態下我們已經開始通過Web方式來訪問Ajax應用了
在Web模式下運行時不再需要GWT工具包或者JVM的支持
命令行工具
GWT工具包中提供了幾個非常適用的小工具來幫助我們更快的建立GWT應用開發環境projectCreatorapplicationCreatorjunitCreator
* projectCreator
創建在Eclipse中開發GWT應用所需要的項目基本文件和可選的Ant buildfile文件
* applicationCreator
applicationCreator命令用於創建基本的HelloWorld!應用和GWT應用開發環境
* junitCreator
生成junti測試代碼
.動態可重用的UI組件
GWT提供的組件庫使用戶可以很容易的開發出漂亮的UI 每個組件對應於GWT的一個類在本文的第二部分會比較詳細的介紹GWT對UI的支持
.簡單的RPC調用
使用GWT可以方便的實現客戶端和服務器端的通信特別是使得異步通信變的非常簡單在本文的後面部分將對利用GWT進行RPC調用進行詳細介紹
.更加方便的調試
由於在開發階段不需要生成HTML截面用戶開發的代碼實際上是在JVM上運行的這樣用戶就可以用傳統的調試Java代碼的方法對程序進行調試從而加快了調試的速度減少了軟件開發的時間
.浏覽器兼容性
在大多數情況下用GWT開發出來的程序會支持IEFirefoxMozillaSafari和Opera用戶在開發的時候不必擔心浏覽器的兼容性問題而浏覽器的兼容性問題也是用直接用Javascript進行Ajax應用開發所面臨的一個另程序員棘手問題
.可擴展性
如果你覺得GWT提供的API不能滿足需求你可以利用JSNI將Javascript語句直接嵌入至Java代碼中
From:http://tw.wingwit.com/Article/program/Web/201405/30786.html