(本文沒有翻譯更新步驟) GWT 1.6 包含了下列幾個內容:
另外,GWT 1.6 也修正了許多在 issue tracker 上頭的 bug。如果你還在用 GWT 1.5 版的話,更著下列的步驟就可以升級到 1.6 版啦... 新的內容新的 Project 結構GWT 1.6 版一個很大的改變就是 project 結構。舊的輸出格式被換成標準的 Java web app「expanded war」格式,且預設的實際路徑名稱就是「 /war 」。請注意,war 這個目錄並不只是 compiler 的 output 目錄,裡頭也包含手動撰寫的靜態網頁(或是其他 resource)是你想要跟 GWT module 放在一起的。也請注意到,「GWTShell」跟「GWTCompiler」會是留有它們作用,不過它們在新版當中被宣告拋棄了,取代的是新的 Hosted Mode 跟 Compiler 工具來產生 war 的輸出。當 1.6 版正式釋出,我們會鼓勵現有的 project 升級成新的目錄格式,並且用新的工具來享受新版本的好處、以及對於新版 GWT 的整合性。在 GWT 發佈的檔案中提供了一個範例 project,裡頭有新版正確的 project 設定。如果要知道新版 project 格式更多細節,請看這裡。 還有幾個重要的改變:
加強 Hosted Mode雖然 GWTShell 仍舊使用內嵌的 Tomcat server,但是新版的 HostedMode 使用的是 Jetty。另外在 Hosted mode 的視窗當中新增了一個「Restart Server」按鈕。按下這個按鈕可以重新啟動 Jetty server,讓 Java 程式碼的改變可以實際有作用,而不用整個關掉 hosted mode 再開啟。這個在修改 RPC 的 servlet、RPC 回傳的 serializable type 有改變、或是 server 跟 client 已經失去同步時候特別好用。 新的 EventHandler 系統增加了 event handler 以換掉 Widget、History 以及很多 class 上頭使用的舊 event listener。新舊系統之間一些差異在:
你可以在更新版的 GWT widget 和示範程式當中找到許多 EventHandler 的範例,在使用新版 webAppCreator 工具產生的 project 也有。 建立、驅動 native event你現在可以對幾乎所有的 element 驅動一個 native event。用 Document.createEvent() 建立一個新的 native event,然後用 Element.dispatchEvent() 指派給特定的 element。這些 method 讓你可以擴展你的 test coverage,這在之前是辦不到的。新的 WidgetDatePicker WidgetLazyPanel Widget新的 LazyPanel widget 讓你可以把 application 當中的某些部份,延後到第一次存取的時候才建立起來,以增加啟動的效率。舉例來說,如果你的 application 很少會用到「Help」的部份,你就可以把它放進 LazyPanel 當中,然後只有在使用者要存取它的時候才建立使用者介面。使用 LazyPanel 的方法就是繼承它,然後 override createWidget() 這個 abstract method。createWidget() 會在你對 LazyPanel 呼叫 setVisible() 時被呼叫到。錯誤修正GWT 1.6 包含了一堆的錯誤的修正(也包含了一些沒寫在「新的內容」章節中的改進),包括了:
想要瞭解更多細節,可以到 GWT issue tracker 的 1.6 中被滿足的 Issue 完整清單查看。 |
官方文件翻譯 >