GWT 讓你免於煩惱那一堆跨 browser 的相容性問題。如果你始終用 widget 跟 composite 來建構,你的 application 會在大多數版本的 IE、Firefox、Chrome、Safari(Opera 在大多數情況下也是)上頭得到同樣的結果。DHTML 的 UI 非常古怪,所以請在每種 browser 上仔細確認測試你的 application。GWT 盡可能地委託 browser 的 native UI 元件。舉例來說,Button 這個 widget 就是 HTML 中的 <button> ,而不是一個用 <div> 做出來的 widget。這表示 GWT 的按鈕在不同的 browser 以及不同的 client 作業系統,會有不同的顯示方式。我們喜歡用 browser 的 native 控制方式,因為這樣更快、更容易使用、而且更貼近使用者經驗。當要裝飾 web application 時,CSS 是很理想的選擇。所以,與其試圖用「最小公因數」的 API 來封裝 UI 風格設計的功能,GWT 只提供極少數直接相關的 method。不過我們鼓勵開發人員在 stylesheet 當中定義 style,然後在 application 當中用 style name 連結起來。除了可以從 application 邏輯中把 style 乾爽地抽離出來,這個動作還可以讓 application 在載入跟呈現時更加快速、使用較少記憶體、甚至在編輯/除錯週期當中更容易調整,因為並不需要重新 compile 調整 style 的部份。 Tip:如果你需要判斷 browser 的種類,你可以使用 JSNI method 來取得 browser 的 UserAgent 字串: public static native String getUserAgent() /*-{ return navigator.userAgent.toLowerCase(); }-*/ |