2.1 版多了什麼新東西

翻譯自:http://code.google.com/intl/en/webtoolkit/doc/latest/ReleaseNotes.html (2010.10.30)
技術校正、審閱:tkcn
特別感謝:godfat、Alice Liu


Cell Widget

Cell Widget 讓開發人員可以針對大量資料做出很有效率的顯示畫面。這些 widget 有兩個獨特的設計優勢。一是它們能夠以如同讀取到整個資料的方式,呈現整個資料的子集。對 end user 而言,這代表畫面一開始的載入速度很快,即使後端是數以百萬計的資料。二是,cell widget 使用「輕量級」的設計,而不是變成其他 widget 的 container(那往往會塞一堆 HTML 到 DOM 當中,而變得十分 heavy)。這不但加快了初始化的速度,也降低了event handling 方面的負擔——這在畫面中有數百個 widget 時,會讓使用者感覺緩慢。

MVP framework(Activity 與 Place)

MVP framework 是一個 application 的 framework,可用來開發使用 Model-View-Presenter pattern 的大型 GWT application。這個 framework 提供了一個 client 端的 EventBus、管理 Activity、以及將 Place 與瀏覽器的瀏覽紀錄作同步。
為了讓這種方式的開發過程更容易,Spring Roo(非必備)可以產生並維護相關的樣板程式碼,並連接到使用 GWT MVP framework 開發的 application component。

Request Factory

Request Factory 是 GWT-RPC 以外另一種建立 data-oriented service 的方式。Request Factory 及其相關的 interface( RequestContext EntityProxy )可以很輕鬆地在 client 端用類似 ORM 的 interface 建立 data-oriented(CRUD)的 application。它被設計用來與 server 端的 ORM 層(例如 JDO、JPA)一起使用,但也不是必備的。

Editor

在 GWT 2.1 當中,Editor framework 是將資料 object 連結至 UI field 的方法之一。透過 Editor framework,開發人員可以減少將 UI field 變動時更新後端 object 所需的樣板程式碼。這個 framework 有提供數個 adapter 方式,將常見的編輯 pattern (例如編輯列表或是填寫某個項目)封裝起來。

server 端的 Speed Trace

之前我們已經提到過,Speed Tracer 是一個讓你在處理 web application 的效能問題時,輔助找出問題並處理的工具。但問題是,它只能幫你處理 client 端的程式碼。

現在的 Speed Tracer 可以看到運行在 Google App Engine 與 SpringSource 的 Developer 版 tc server 上應用程式的 timing 資訊。經過這個整合之後,你就可以查閱資料庫呼叫的數量、memcache 的命中率、讀取的資源、以及其他 server 端的 service 呼叫。新的數據呈現頁面已經整合進既有的 Speed Tracer UI 當中,你只需要將把網路的部份設定好,你就能看到 server 端的 trace 資料。

Log 功能

client 端程式碼的 log 紀錄在 GWT application 是新推出的功能。log 紀錄幫助你了解 application 如何執行,並讓開發者或使用者遇到問題時更容易解決。在 GWT 中,你可以直接在 client 端對 clinet 端的程式碼作 log,你也可以使用遠端的 log 功能,在 server 端對 client 端的程式碼作 log。
這個 log framework 模仿 java.util.logging,因此它使用相同的語法、具有相同的行為,就像 server 端處理 log 的程式碼。這讓你可以在 client 端或 server 端都可以共用處理 log 的程式碼。

Safe HTML

SafeHtml 提供一個 library,當你依照撰寫原則使用時,就能讓你在開發 GWT application 時免於一堆 XSS 的攻擊。它也盡量減少執行與開發期的額外負擔。這些 GWT application 中的 XSS 攻擊起因於使用一些 method(例如 setInnerHTML 跟 setHTML)會讓 browser 將參數轉成 HTML,as well as the constructors of HTML-containing widgets such as HTML。

與 SpringSource 開發工具的整合

Spring Roo 是新一代 RAD(rapid application development)工具,結合 GWT 的威能,使開發人員能夠在企業開發環境下建立 rich browser application。這些使用 GWT 的 application 利用現代的 browser 技術(例如 AJAX、HTML5)來建造最令人激賞的 end-user 使用經驗,無論是在桌上型電腦或是手機的 browser。

Google 的 Speed Tracer 與 VMware's 的 Spring Insight 效能追蹤技術,讓雲端 application 也有 end-to-end 的效能可見度。這個整合結果,提供了一個全面性觀看 web application 效能的方式,可以如同改良 server 端效能的方式來最佳化 client 端,以加強 end user 的使用者經驗。

SpringSource Tool SuiteGoogle Plugin for Eclipse 讓開發人員很輕鬆地就可以建立並維護大型 web base 的商業軟體;在以前只有寫一般應用程式或 server 端程式才有的,現在也能用在 web application 上。
Comments