GWT 使得構建富 Ajax 瀏覽器客戶機介面比構建傳統 Java GUI 介面還要輕鬆。然而,即使是 GWT 這樣出色的技術也無法獨自構建出一個完整的 Web 應用程式。您還必須有一個伺服器上的資料存放區和某種類型的架構,以便將資料轉換成 GWT 可從伺服器傳遞給其客戶的 Java 對象。在這一系列文章中,您將使用 Apache Derby 這個 100% 純 Java 資料庫,可將其嵌入與其餘伺服器端代碼相同的 JAVA 虛擬機器(JVM)之中。
本系列的第一篇文章主要探討 GWT。在這裡,您將瞭解如何設定 GWT,並建立一個簡單的客戶機介面來響應使用者的操作。後續文章將為您展示如何設定 Derby 資料庫,並將 GWT 前端與基於 Derby 的後端串連。最終,您將學會如何將在開發環境之外部署您的系統。
Google Web Toolkit 是什嗎?
藉助於 GWT,您可以使用 Java 程式設計語言開發 Ajax 應用程式。Ajax 應用程式的特色就是豐富、互動環境,往往與傳統 UI 應用程式相關聯。圖 1 展示了一個樣本 GWT 介面,它效仿了案頭電子郵件應用程式。這個示範程式可在 GWT 的 Web 網站看到。
圖 1. GWT 電子郵件示範
GWT 最獨到的特性就在於:您可以建立 Ajax 應用程式,同時依然使用 Java 語言編寫代碼。您可以使用自己喜愛的 Java 整合化開發環境(IDE),而更好的事情是,還可以在 Java IDE 中調試您的客戶機。可以使用 Java 對象在客戶機與伺服器之間通訊,這樣的通訊在客戶機中比使用 Java applet 時要輕量得多。
從根本上來說,GWT 是一種編譯器。它將您編寫的 Java 代碼轉換成 JavaScript 代碼,這些代碼隨後會插入 HTML 頁面,並用於運行應用程式的用戶端。這樣的功能使您免於處理在多種瀏覽器上支援 JavaScript 代碼的細枝末節,從而使您能夠專註於程式的介面和互動之上。
當然,如果編譯器是 GWT 提供的惟一功能,那也不會令人太過興奮。幸運的是,它給我們帶來的不僅如此。有了 GWT,編譯器僅僅是一種交付整個客戶機/伺服器應用程式架構的機制。其特性包括:
一組標準 UI 小組件(widget),外觀良好、靈活性高,並且已進行了調優,可在所有主流瀏覽器(包括 Safari 和 Opera)中工作。
一種完全在用戶端捕捉並響應事件的事件機制。
一個管理 Web 應用程式與伺服器間的非同步呼叫的架構。
一種建立有狀態瀏覽器記錄的機制,以使您的 Ajax 應用程式不會因為有可能出現的後退(Back) 按鈕行為而變得混亂。
一個使用 JUnit 為客戶機應用程式編寫單元測試的測試架構。
本系列將探索上述特性中的大多數。但首先請下載和安裝 GWT。