基本介紹
內容簡介,圖書目錄,
內容簡介
《Flex企業套用開發實戰》由業界4位擁有近10年企業級套用開發經驗的資深專家撰寫,權威性毋庸置疑。全書共分為4大部分,涵蓋企業級套用開發的整個生命周期。首先介紹了Flex/Flash的工作機理和利用Flex開發企業級套用必須掌握的基礎知識和核心元素;接著剖析了Flex與Java的通信機制,以及Flex企業套用的客戶端架構和伺服器端架構;再接著詳細講解了BlazeDS框架的使用方法和工作原理,並通過疊代的方式完整地演示一個真實的Flex企業級套用的開發全過程,實戰性極強;最後重點探討Flex套用性能最佳化等方面的高級知識。
值得一提的是,《Flex企業套用開發實戰》公開了作者努力開發出來的、經實際項目檢驗過的Flex企業套用框架的原始碼,具有非常高的參考價值。
《Flex企業套用開發實戰》對Flex的基礎知識著墨不多,所有內容都圍繞Flex+Java這一企業級套用開發技術展開,側重於對Flex技術原理、企業級套用的架構思想和實現方法的講解,所以書中的內容不會隨著Flex版本的升級而過時。
圖書目錄
作者簡介
讚譽
推薦序
前言
第1章 Flex企業套用開發入門 1
1.1 B/S企業套用開發者的噩夢 1
1.2 噩夢結束,新時代來臨 2
1.3 Flex概述 6
1.4 Flash Player的工作模型 7
1.4.1 Flash Player的幀執行模型 7
1.4.2 Flash Player渲染模型 9
1.4.3 Flash中的事件機制 12
1.5 小結 20
第2章 Flex企業套用開發基礎 21
2.1 MXML語言 21
2.1.1 用MXML表示ActionScript對象 22
2.1.2 查看由MXML檔案所翻譯的ActionScript代碼 24
2.1.3 IMXMLObject接口 25
2.2 客戶端保持狀態 28
2.3 客戶端MVC 30
2.4 數據綁定 34
2.4.1 實現數據綁定的方法 35
2.4.2 數據綁定發生的時機 37
2.4.3 可以用於數據綁定的屬性 39
2.4.4 數據綁定的用途 40
2.4.5 使用Bindable元數據標記 40
2.4.6 綁定到函式、對象和數組 43
2.4.7 使用可綁定屬性鏈進行工作 46
2.5 Flex中的組件化編程 46
2.5.1 認識Flex組件和組件容器 47
2.5.2 組件生命周期與布局 51
2.5.3 組件的失效機制 59
2.5.4 使用ActionScript創建自定義組件 62
2.6 異步調用 85
2.6.1 異步調用導致模型數據不一致 85
2.6.2 異步調用導致用戶反覆(誤)操作 86
2.7 小結 87
第3章 Flex企業套用開發中的主要元素 88
3.1 企業套用的特點 88
3.2 Flex Application 89
3.2.1 SystemManager 89
3.2.2 Preloader 90
3.2.3 Application的作用和主要屬性 95
3.2.4 通過SWFLoader載入Application 97
3.2.5 域及跨域訪問 99
3.3 Flex Module 101
3.3.1 創建模組 102
3.3.2 模組的編輯與編譯 104
3.3.3 模組檔案的載入 104
3.3.4 主套用和模組的互動 107
3.4 Flex庫檔案SWC 107
3.5 Flex編譯模式、連結模式與RSL 109
3.5.1 使用系統RSL-Framework 110
3.5.2 其他的系統RSL 111
3.5.3 RSL的摘要 112
3.5.4 使用私有RSL 113
3.6 小結 114
第4章 Flex on Java企業套用架構 115
4.1 分散式的異構系統所帶來的挑戰與解決方案 116
4.1.1 確定Flex客戶端系統和Java伺服器端通信框架 117
4.1.2 保持客戶端系統與伺服器端系統的數據一致性 122
4.2 大規模企業套用面臨的挑戰和應採取的解決方案 133
4.2.1 問題和需求 133
4.2.2 解決方案 134
4.3 Flex客戶端工程路徑規劃 137
4.4 小結 138
第5章 BlazeDS框架詳解 139
5.1 BlazeDS介紹 139
5.1.1 什麼是BlazeDS 139
5.1.2 使用BlazeDS的原因 140
5.1.3 BlazeDS功能特色 140
5.2 BlazeDS體系結構 141
5.2.1 BlazeDS的組件 143
5.2.2 構建一個簡單的BlazeDS套用 148
5.2.3 訊息的傳輸過程 150
5.2.4 BlazeDS的序列化機制 156
5.2.5 FlexClient和FlexSession 161
5.3 BlazeDS的配置 162
5.3.1 配置MessageBrokerServlet 162
5.3.2 services-config.xml 163
5.3.3 Channel和Endpoint 165
5.3.4 Service、Adapter和Destination 166
5.3.5 Logging 167
5.3.6 Security 169
5.3.7 運行期配置 170
5.4 BlazeDS的整合 175
5.5 小結 177
第6章 Flex+BlazeDS套用開發實例 178
6.1 需求分析 178
6.2 資料庫設計 179
6.3 用Flash Builder配置企業套用開發環境 180
6.3.1 創建一個Flash Builder工程 180
6.3.2 修改Flex SDK包檔案連結類型 184
6.3.3 創建一個Flex Library工程 185
6.4 客戶端人機界面設計 186
6.5 伺服器端配置 187
6.6 伺服器端實現 191
6.7 客戶端實現 198
6.7.1 客戶端數據模型 199
6.7.2 客戶端Proxy及工具類 201
6.7.3 客戶端界面及界面邏輯 204
6.7.4 複雜查詢實現 220
6.8 小結 227
第7章 將範例套用改進為真正的企業套用 228
7.1 簡化Flex RemoteObject的異步調用 228
7.2 如何使用戶等待遠程調用的結束 243
7.3 加入簡單的身份認證功能 251
7.4 使Flex套用脫離開發環境部署到運行環境 260
7.4.1 存在的問題 260
7.4.2 封裝BlazeDS及封裝後的系統調用方式 260
7.4.3 封裝RemoteObject及封裝後的調用方式 263
7.5 小結 264
第8章 Flex列印 265
8.1 Web列印方案 265
8.1.1 原生列印 265
8.1.2 宿主列印 265
8.1.3 外部列印 266
8.2 為什麼使用Flex來列印 267
8.3 使用PrintJob列印 267
8.4 深入了解PrintJob 268
8.5 實戰PrintJob-實現一個票據列印組件 270
8.5.1 組件結構 270
8.5.2 IReceiptPrinter和DefaultReceiptPrinter 271
8.5.3 ReceiptTemplate 273
8.5.4 TemplateDescriptor 274
8.5.5 TemplateLoader 276
8.5.6 為組件編寫示例 281
8.6 小結 282
第9章 Flex企業套用性能最佳化 283
9.1 Flex的記憶體垃圾回收機理 283
9.1.1 引用計數法 284
9.1.2 標記清除法 285
9.1.3 垃圾回收的時機 286
9.1.4 強制執行垃圾回收的技巧 286
9.2 導致記憶體泄漏的常見情況 287
9.3 Flash Builder的記憶體泄漏分析工具 291
9.4 用於性能查看的Flash的系統API 293
9.5 其他有關記憶體泄漏的問題 293
9.6 有關提高Flex套用性能的技巧 294
9.7 小結 299
第10章 Flex企業套用開發的其他技術 300
10.1 與網頁進行互動 300
10.1.1 通過參數接受外部信息 300
10.1.2 使用navigateToURL方法調用JavaScript 302
10.1.3 ExternalInterface API 303
10.2 在Flex中使用Flash CS所開發的控制項 306
10.3 Flex訪問.Net 308
10.3.1 Fluorine的安裝和配置 309
10.3.2 Flex通過Fluorine訪問.NET 311
10.4 小結 314
附錄 Flex Builder 3中的項目如何遷移至Flash Builder 4 315