內容簡介
全書共10章,包括GoogleWebToolkit簡介、用戶界面庫、伺服器整合技術、Ajax應用程式開發中的軟體工程、高效使用GWT、Gadagetdesktop用程式、Multi-Search應用程式、BolgEditor應用程式、InstantMessenger應用程式以及DatabaseEditor應用程式等內容。
作者簡介
RyanDewsbury是一位開發者、架構設計和諮詢師。他從1998年開始使用C++和Java,並自GWT發布之日起就使用GWT。目前,他仍然致力於使用GWT開發軟體應用程式。作為一位諮詢師,他協助公司使用前沿的軟體技術開發出了卓越的線上用戶體驗。
編輯推薦
為幫助讀者使用GWT創建富Web應用程式並向用戶提供非同凡響的用戶體驗,本書提供了必要的核心知識及使用指南。無論是為Java、PHP或Ruby應用程式構建高性能的前端,還是整合各種外部Web服務,GWT專家RyanDewsbury的這《GoogleWebToolkit應用程式開發》都將為您提供深入、完整的指導。
在這本實用性極強的書中,RyanDewsbury從權威人士的獨特視角出發,以全面翔實的GWT技術闡釋為基礎,向讀者詳細解釋了如何使用可靠的工具創建一流的Web應用程式。他將自己在GWT開發實踐中總結的“實戰經驗”毫無保留地奉獻給了讀者。主要包抱:
利用層疊樣式表和GWT的部件及面板,構建優雅靈敏的用戶界面。
通過基於HTTP、REST、JSON/jsonp及RPC的異步通信創造流暢的用戶體驗。
與Web標準(如XML、RSS和Atom)及Web服務(如GoogleMaps、AmazonBooks、Yahoo!Search、Flickr和Blogger)協同整合。
繞過瀏覽器的安全限制,如HTTP的雙連線限制及同源策略。
使用軟體工程、代碼生成、國際化、應用程式模式以及Java工具來加速開發。
以資源壓和快取為手段實現性能最優的部署。
構建5個非同凡響的應用程式;具有豐富拖放界面的GadgetDesktop、同時向多個搜尋引擎傳送情求的Multi-Search、能夠管理多個部落格的BlogEditor、基於Web即時通信的InstatMessenger以及針對傳統網頁的DatabaseEditor。
目錄
前言
第一部分 理解GoogleWebToolkit
第1章 GoogleWeboolkit簡介
1.1 Ajax嶄露頭角
1.2 重新定義web應用程式
1.2.1 Adobe的Flash與Flex
1.2.2 微軟的Silverlight
1.2.3JavaFX
1.3 基於Ajax的軟體工程
1.3.1 通過部件和面板構建豐富的用戶界面
1.3.2 利用異步通信獲得更好的性能
1.3.3 通過Web標準和Web服務提供互操作性
1.3.4 使用Java工具提高開發效率
1.4 職業背景評估
1.4.1 Web設計者
1.4.2 網站開發者
1.4.3 Ajax開發者
1.4.4 Web應用程式開發者
1.4.5 桌面應用程式開發者
1.5 應用程式開發技能的重要性
1.6 簡單的教程
1.6.1 創建GWT項目
1.6.2 自定義生成的應用程式
1.6.3 創建動態的界面
1.6.4 使用異步HTTP
1.7 GWT中的包
1.8 GWT應用程式概述
1.8.1 常見的應用程式模式
1.8.2 示例應用程式簡介
1.9 小結
第2章 用戶界面庫
2.1 靜態部件
2.1.1 Label
2.1.2 HTML
2.1.3 Image
2.1.4 Hyperlink
2.2 表單部件
2.2.1 Button
2.2.2 ToggleButton和PushButton
2.2.3 Checkbox
2.2.4 RadioButton
2.2.5 ListBox
2.2.6 SuggestBox
2.2.7 TextBox
2.2.8 PasswordTextBox
2.2.9 TextArea
2.2.10 RichTextArea
2.2.11fileupload
2.2.12 Hidden
2.3 複雜部件
2.3.1 Tree
2.3.2 MenuBar
2.4 簡單布局面板
2.4.1 FlowPanel
2.4.2 HorizontalPanel和VerticalPanel
2.4.3 HorizontalSplitPanel和VerticalSplitPanel
2.4.4 FlexTable和Grid
2.4.5 DeckPanel
2.4.6DockPanel
2.4.7 HTMLPanel
第二部分 創建富Web應用程式
5.4.4 使用其他1avaScript庫
5.5 應用程式國際化
5.5.1 聲明常量
5.5.2 聲明訊息
5.5.3 本地化工具
5.5.4 本地化管理
5.5.5 使用字典
5.6 生成代碼
5.6.1 使用生成的代碼
5.6.2 編寫代碼生成器
5.6.3 generate方法分析
5.7 性能最佳化
5.7.1 處理耗時過程
5.7.2 使用ImageBundle
5.7.3 在Apache中設定快取
5.7.4 在Setvlet容器中設定快取
5.7.5 在Apache中設定壓縮
5.7.6 在Setvlet容器中設定壓縮
5.8 小結
第二部分 刨建富Web應用程式
第6章 GadgetDesktop應用程式
6.1 使用容器應用程式模式
6.2 模型設計
6.2.1 使用抽象工廠模式
6.2.2 編寫GadgetClass類
6.2.3 編寫Gadget類
6.2.4 體現用戶偏好
6.3 構建分欄的容器界面
6.3.1 定義視圖
6.3.2 使用VerticalPanel構建主布局
6.3.3 使用HorizontalPanel構建選單
6.3.4 使用TabPanel構建頁面選擇區
6.3.5 使用HorizontalPanel和FlowPanel構建分欄
6.4 將部件放入視圖
6.4.1 HelloWorld配件
6.4.2 編寫配件容器
6.4.3 使用[mageBundle、ToggleButton和PushButton
6.5 創建拖放部件
6.5.1 在面板之間停放部件
6.5.2 通過滑鼠事件拖動部件
6.5.3 停放部件
6.6 通過CSS設計用戶界面
6.6.1 通過GWq、使用CSS
6.6.2 為選項卡添加樣式
6.6.3 為選單添加樣式
6.6 GadgetContainerView添加樣式
6.6.5 創建RoundedPanel
6.7 增加持久性
6.7.1 實現CookieStorageClass類
6.7.2 處理瀏覽器差異
6.7.3 載入和保存cookie
6.7.4 使用GoogleGears存儲信息
6.8 使用其他.1avaScript庫
6.8.1 使用GoogleMapsAPI
6.8.2 使用GoogleAjaxAPI載入新聞源
6.8.3 構建天氣預報配件
6.8.4 構建RSS新聞配件
6.9 小結
第7章 Multi.Search應用程式
7.1 使用聚合器應用程式模式.
7.2 Multi-Search應用程式設計
7.3 模型
7.4 視圖
7.4.1 MultiSeaichView類
7.4.2 SearchResultsView類
7.4.3 構建Link部件
7.5 控制器
7.6 導入結構化的數據格式
7.6.1 繞過同源策略的限制
7.6.2 通過JSONP載入JSON源
7.7 與Yahoo!Search進行互動
7.8 整合GoogleBase
7.9 整合FlickrSearch
7.10 整合AmazonSearch
7.11 小結
第8章 BlogEditor應用程式
8.1 使用工作區應用程式模式
8.2 構建Web服務客戶端
8.3 BlogEditor應用程式設計
8.4 模型
8.5 構建多文檔視圖
8.5.1 BlogEditorView類
8.5.2 BlogView類
8.5.3 BlogEntryView類
8.5.4 EditEntryView類
8.6 添加富文本編輯功能
8.6.1 使用RichTextArea
8.6.2 使甩[mageBundle、國際化和RichTextToolbar
8.7 LoadingPanel部件
8.8 TitleCommandBar。部件
8.9 設計應用程式的控制器
8.10 構建作為HTTP代理的Servlet
8.10.1 新的跨域的RequestBuilder
8.10.2 編寫代理Servlet
8.11 與BloggerAPI整合
8.11.1 使用AtomPublishingProtocol和GData
8.11.2 定義BloggerService類
8.11.3 登錄到Google賬戶
8.11.4 從賬戶中獲取xML格式的部落格列表
8.11.5 獲取每個部落格中xML格式的文章列表
8.11.6 傳送XML創建及保存文章
8.11.7 傳送刪除一篇文章的Delete請求
8.12 小結
第9章 lnstantMessenger應用程式
9.1 使用合作者應用程式模式
9.2 nstantMessenger應用程式設計
9.3 模型
9.4 構建補充性界面
9.4.1 MessengerView類
9.4.2 SignlnView類
9.4.3 ContactListView類
9.4.4 ChatWindowView類
9.5 控制器概述
9.6 使用GWT.RPC
9.6.1 MessengerService接口
9.6.2 RemoteServiceServlet類
9.6.3 使用異步接口
9.7 連線到伺服器
9.8 添加RPC事件
9.8.1 輪詢協定
9.8.2 基於事件的協定
9.8.3 實現事件
9.9 InstantMessenger的伺服器
9.10 使用伺服器端高級10
9.10.1 在Tomcat中使用Comet
9.10.2 在Jetty中使用Continuations
9.11 小結
第10章 DatabaseEditor應用程式
10.1 使用管理員應用程式模式
10.2 模型設計
10.3 使用異步數據訪問對象
10.4 構建雙欄編輯器界面
10.4.1 使用Tree和SplitPanel部件
10.4.2 擴展及動態載入樹形項
10.4.3 創建工作區視圖
10.4.4 使用對話框實現編輯和創建對象
10.5 伺服器整合概覽
10.5.1 使用Action
10.5.2 使用REST
……