出版時間:2012-4 出版社:清華大學(xué)出版社 作者:鐘協(xié)良 頁數(shù):647 字數(shù):898000
Tag標簽:無
內(nèi)容概要
《extjs開發(fā)實戰(zhàn)》從extjs中最基本的概念開始,例如dom操作、面向?qū)ο蟆omponent/container模型的生命周期、組件管理等,并介紹如何使用項目開發(fā)中最常使用的各種組件,例如
panel、formpanel、gridpanel等,其中介紹了在extjs 3與extjs
4中,數(shù)據(jù)存儲模型如何指派給不同的組件使用,進而達到截然不同的數(shù)據(jù)交互方式。例如,editorgridpanel與gridpanel雖然可以共享一個store對象,但兩者在數(shù)據(jù)交互上的設(shè)計取決于用戶該如何與之交互。
最后,《extjs開發(fā)實戰(zhàn)》提供兩個實際的開發(fā)案例,簡化過之后作為實戰(zhàn)案例供讀者參考,其中展示了extjs應(yīng)如何與后端框架cakephp結(jié)合。
作者簡介
鐘協(xié)良
國立臺灣師范大學(xué)工業(yè)教育系畢業(yè),曾任職于高等教育中心、教育部電子計算中心,負責(zé)全國型系統(tǒng)設(shè)計與實現(xiàn)。擅長JavaEE、CakePHP、Codelgniter等框架的應(yīng)用,以及ExtJS、jQuery與ActionScript,醉心于Java與Flex相關(guān)應(yīng)用研究,并已獲得SCJP、SCWCD及SCBCD等證書?,F(xiàn)任職于內(nèi)湖安德網(wǎng)絡(luò)行銷公司,負責(zé)開發(fā)團購網(wǎng)站、Facebook
App及其他有趣的社區(qū)相關(guān)應(yīng)用程序。
書籍目錄
第 1 章 入門
1.1 何謂extjs
1.2 cakephp
1.3 部署開發(fā)環(huán)境
1.3.1 部署服務(wù)器
1.3.2 部署cakephp
1.3.3 部署extjs
1.4 開發(fā)工具
1.5 調(diào)試與性能評估工具
1.5.1 firebug 插件
1.5.2 chrome的javascript控制臺
1.5.3 性能評估與數(shù)據(jù)監(jiān)控
1.6 小結(jié)
第ⅰ部分 基礎(chǔ)架構(gòu)
第 2 章 extjs 101
2.1 javascript的面向?qū)ο?br /> 2.1.1 創(chuàng)建類
2.1.2 定義類方法與類屬性
2.1.3 類的繼承
2.1.4 extjs在面向?qū)ο蠓矫娴闹С?br /> 2.1.5 實戰(zhàn)練習(xí):預(yù)配置類
2.2 瀏覽器對象模型:bom
2.2.1 命名空間
2.2.2 用戶代理對象
2.2.3 歷史記錄對象
2.2.4 dom文件對象document
2.2.5 cookie
2.2.6 定時調(diào)用函數(shù)
extjs 開發(fā)實戰(zhàn)
第 3 章 dom與event
3.1 extjs對dom的支持
3.1.1 創(chuàng)建element實例
3.1.2 通過element創(chuàng)建dom節(jié)點
3.1.3 讀取/更新dom節(jié)點及屬性
3.1.4 domhelper與template、xtemplate
3.2 extjs對事件的支持
3.2.1 一切的開始——ext.ready()
3.2.2 注冊/移除事件處理程序
3.2.3 ext.eventmanager
3.2.4 阻止事件的進行與默認行為
3.2.5 ext.util.observable與自定義事件
3.3 實戰(zhàn)練習(xí):畫布應(yīng)用
第 4 章 好用的php框架——cakephp
4.1 cakephp的設(shè)計結(jié)構(gòu)
4.2 自動化開發(fā)
4.3 cakephp基礎(chǔ)
4.3.1 cakephp的配置文件core.php
4.3.2 cakephp的基礎(chǔ)模板default.ctp
4.3.3 模型
4.3.4 控制器
4.3.5 視圖與視圖助手
4.4 實戰(zhàn)練習(xí):登錄窗體
4.4.1 制作模型
4.4.2 編寫控制器
4.4.3 編寫頁面視圖
4.4.4 更改默認控制器
4.4.5 url前綴的應(yīng)用
4.4.6 使用cake 2.*版本? 不,謝謝
4.4.7 下一步
第 5 章 ajax與數(shù)據(jù)驅(qū)動
5.1 ext.ajax與ext.data.connection
5.2 存儲對象
5.2.1 ext.data.store
5.2.2 讀取遠程數(shù)據(jù)
5.3 實戰(zhàn)練習(xí):表格組件
第 6 章 component結(jié)構(gòu)
6.1 component模型
6.2 常用組件
6.2.1 colorpalette 調(diào)色板
6.2.2 button按鈕
6.2.3 splitbutton按鈕
6.2.4 baseitem基礎(chǔ)選項
6.2.5 datepicker日期選擇面板
6.3 xtype神秘類型
6.4 實戰(zhàn)練習(xí):自定義組件
第 7 章 container結(jié)構(gòu)
7.1 container容器
7.2 panel容器
7.2.1 添加子組件/容器
7.2.2 移動子組件/容器
7.2.3 查找子組件/容器
7.2.4 刪除子組件/容器
7.2.5 頂層組件欄(tbar)與底層組件欄(bbar)
7.2.6 可折疊的panel
7.2.7 嵌套panel
7.3 viewport容器
7.4 window容器
7.5 buttongroup容器
7.6 button類似容器的用法
7.7 實戰(zhàn)練習(xí):更實用的window類
extjs 開發(fā)實戰(zhàn)
第ⅱ部分 視圖組件
第 8 章 頁面布局
8.1 一切都從containerlayout開始
8.2 可讓組件大小隨容器改變的anchorlayout
8.3 可隨意擺放組件的absolutelayout
8.4 填滿容器的fitlayout
8.5 如手風(fēng)琴般的accordionlayout
8.6 將組件以撲克牌方式擺放的cardlayout
8.7 表單布局formlayout
8.8 邊界布局borderlayout
8.9 水平布局hboxlayout與垂直布局vboxlayout
8.10 列布局columnlayout
8.11 表格布局tablelayout
8.12 混合布局
8.13 實戰(zhàn)練習(xí):自定義布局
第 9 章 表單組件
9.1 表單容器formpanel與一般容器panel的差異
9.2 文本字段
9.2.1 密碼字段
9.2.2 文件上傳字段
9.2.3 文本塊
9.2.4 數(shù)字字段
9.2.5 字段驗證
9.2.6 隱藏字段
9.3 下拉菜單與自動完成
9.3.1 使用本地數(shù)據(jù)
9.3.2 遠程數(shù)據(jù)與下拉菜單
9.3.3 遠程數(shù)據(jù)與自動完成
9.3.4 聯(lián)動下拉菜單
9.4 wysiwyg文本編輯器
9.5 日期字段
9.6 復(fù)選組件與單選組件
9.7 提交/讀取數(shù)據(jù)
9.8 字段提示quicktips與quicktip
9.9 美化表單
9.9.1 使用boxcomponent為表單添加自定義html內(nèi)容
9.9.2 使用fieldset集合特定字段
9.10 實戰(zhàn)練習(xí):登錄表單
第 10 章 表格組件
10.1 gridpanel是如何組成的
10.2 創(chuàng)建gridpanel與數(shù)據(jù)排序
10.3 使用pagingtoolbar進行分頁
10.4 girdpanel與查詢
10.5 自定義繪圖器
10.6 通過selectionmodel與gridpanel交互
10.7 實戰(zhàn)練習(xí):dtable
第 11 章 可編輯表格組件
11.1 創(chuàng)建editorgridpanel
11.2 更換字段編輯器與數(shù)據(jù)交互
11.2.1 更換字段編輯器
11.2.2 添加與刪除記錄
11.3 使用roweditor
11.4 數(shù)據(jù)的提交與回滾
11.4.1 commitchanges()與rejectchanges()
11.4.2 同步服務(wù)器數(shù)據(jù)
11.5 使用datawriter
11.6 實戰(zhàn)練習(xí):etable
第 12 章 dataview與listview
12.1 dataview
12.1.1 創(chuàng)建數(shù)據(jù)顯示樣式
12.1.2 創(chuàng)建store與xtemplate
12.1.3 創(chuàng)建dataview
12.1.4 讓dataview可分頁
extjs 開發(fā)實戰(zhàn)
12.2 listview
12.3 屬性設(shè)置表propertygrid
12.4 實戰(zhàn)練習(xí):數(shù)據(jù)讀取
第 13 章 圖表組件
13.1 圖表底層的秘密
13.2 折線圖:linechart
13.2.1 繪制折線圖
13.2.2 修改提示信息
13.2.3 添加水平/垂直軸的標題
13.2.4 修改圖表風(fēng)格
13.2.5 添加多個序列
13.3 柱形圖:columnchart與stackedcolumnchart
13.4 條形圖:barchart與stackedbarchart
13.5 圓餅圖:piechart
13.6 實戰(zhàn)練習(xí):圖表應(yīng)用
第 14 章 樹狀組件
14.1 使用靜態(tài)數(shù)據(jù)創(chuàng)建treepanel
14.2 讀取服務(wù)器數(shù)據(jù)
14.3 操作節(jié)點
14.3.1 添加節(jié)點
14.3.2 刪除節(jié)點
14.3.3 編輯節(jié)點
14.3.4 查詢節(jié)點
14.3.5 排序節(jié)點
14.4 columntree
14.5 實戰(zhàn)練習(xí):treeeditor
第 15 章 菜單與工具欄
15.1 創(chuàng)建菜單
15.1.1 菜單101
15.1.2 菜單事件
15.1.3 加入separator與textitem
15.1.4 colormenu與datamenu
15.1.5 添加復(fù)選框
15.1.6 添加單選按鈕
15.2 使用上下文菜單
15.3 創(chuàng)建工具欄
15.4 實戰(zhàn)練習(xí):復(fù)雜的菜單與工具欄組合
第 16 章 拖放——drag與drop
16.1 拖放的基礎(chǔ)知識
16.2 拖放操作的實現(xiàn)
16.2.1 注冊dom元素為dd
16.2.2 使用ddtarget注冊放置目標
16.2.3 使用ddproxy
16.3 實戰(zhàn)練習(xí):將拖放與組件結(jié)合
16.3.1 dataview與拖放
16.3.2 treepanel與拖放
第 17 章 插件
17.1 繼承的限制
17.2 插件的實現(xiàn)
第 18 章 長路漫漫——extjs 4
18.1 類系統(tǒng)
18.1.1 定義類的新方式
18.1.2 動態(tài)讀取類定義與依賴性管理
18.1.3 混合屬性
18.1.4 靜態(tài)方法
18.1.5 自動生成變量的getter/setter方法
18.2 data 封包
18.2.1 model
18.2.2 proxy與store
18.3 panel、formpanel、gridpanel與window
18.3.1 panel組件
18.3.2 formpanel組件
extjs 開發(fā)實戰(zhàn)
18.3.3 gridpanel組件
18.3.4 window組件
18.4 圖表組件
18.4.1 area圖表
18.4.2 bar圖表
18.4.3 radar圖表
18.4.4 pie圖表
extjs 4后記
第ⅲ部分 實戰(zhàn)案例
第 19 章 案例——記賬系統(tǒng)
19.1 系統(tǒng)需求分析
19.2 系統(tǒng)規(guī)劃
19.2.1 界面規(guī)劃
19.2.2 后臺服務(wù)器部署
19.3 系統(tǒng)實現(xiàn)
19.3.1 實現(xiàn)cakephp端
19.3.2 實現(xiàn)extjs界面
19.4 與cakephp結(jié)合
第 20 章 案例——人人網(wǎng)應(yīng)用程序
20.1 系統(tǒng)功能分析
20.2 系統(tǒng)部署
20.3 封裝google maps api的類gmap
20.4 組合界面組件
20.4.1 定義geomappanel
20.4.2 定義functionmenu
20.4.3 定義georecordgridpanel
20.4.4 定義mainpanel
附錄 學(xué)習(xí)與實現(xiàn)資源
章節(jié)摘錄
版權(quán)頁: 插圖: 1.2 CakePHP CakePHP是眾多PHP框架中的一種,其他相同類型的框架還有Symfony、CodeIgniter、Zend Framework等。選擇CakePHP的原因在于:該框架徹底實現(xiàn)了MVC模式、修改容易、部署有彈性、完全支持RESTful形式的URL,并且官方文件也非常齊全。CakePHP還代表部署系統(tǒng)的一種方式,例如所有的JavaScript代碼都應(yīng)該放置在app/webroot/js文件夾下,而CSS文件則應(yīng)該放置在app/webroot/css文件夾下。 CakePHP還將程序源代碼與文件夾分離開來,對Apache的所有訪問請求所用到的圖片、SWF文件等資源存放在app/webroot中,而PHP腳本則是放置在app文件夾下。如果將Apache的文件位置指app/webroot,那么外部的訪問者將無法通過Apache獲取系統(tǒng)應(yīng)用層的PHP腳本。CakePHP在系統(tǒng)升級方面也非常簡單,升級到新版本時,只需要替換cake文件夾即可,不需要修改應(yīng)用程序源代碼,這讓后續(xù)的程序維護變得很簡單。CakePHP適合用于實現(xiàn)Ajax方面的應(yīng)用,在后續(xù)章節(jié)中,可看到cakePHP與ExtJS可以順利結(jié)合,讓程序員將更多的精力放在編寫代碼上,而不用擔(dān)心數(shù)據(jù)輸出格式等瑣碎細節(jié)。 開發(fā)環(huán)境的部署,主要先從服務(wù)器、CakePHP的部署開始,然后到部署ExtJS,下面分別進行說明。 1.3.1 部署服務(wù)器 如果要開發(fā)Web應(yīng)用程序,架設(shè)一臺自己的Web服務(wù)器是必須要做的事情,但架設(shè)一臺服務(wù)器并不代表需要實際去購買硬件并在上面安裝服務(wù)器軟件?,F(xiàn)在的軟件業(yè)如此發(fā)達,用戶可以很容易地在自己現(xiàn)有的服務(wù)器上安裝簡稱VM的虛擬機,進而模擬真實的硬件環(huán)境。在VM環(huán)境下,用戶可以安裝大多數(shù)的操作系統(tǒng),例如Linux、Windows Server 2008等。最棒的是,如果服務(wù)器壞了,重裝VM就可以解決問題。 目前市面上比較有知名度的VM軟件有VMware、Hyper—V和Virtual pc。其中,Hyper—V必須在微軟操作系統(tǒng)上運行,其他兩個都有針對各種操作系統(tǒng)的版本。筆者采用Mac OS X進行系統(tǒng)開發(fā),因此選擇VM Fusion來搭建VM。但VM Fusion是收費的,VMware則提供了Windows的免費單機版,功能還可以,對于開發(fā)環(huán)境來說已經(jīng)足夠使用。Virtual PC是完全免費的軟件,同時提供TWindows與Mac OS X的運行版本,在性能和穩(wěn)定性上都有不錯的表現(xiàn)。 如果不想花較大精力搭建自己的服務(wù)器,可以考慮XAMPP等PHP開發(fā)應(yīng)用程序套件。套件可提供不同的操作系統(tǒng)版本,在啟動方面也很容易,只需要單擊按鈕,就可以打開所需的服務(wù),女HApache、MySQL以及FTP。但筆者不建議這樣使用應(yīng)用程序套件,原因在于:這些套件與實際商用部署環(huán)境有非常大的差距,此外,套件內(nèi)往往會有不需要的模塊與功能。
編輯推薦
《Ext JS開發(fā)實戰(zhàn)》講解DOM操作、面向?qū)ο?、Component及Container等基礎(chǔ)知識;結(jié)合PHP框架與后臺服務(wù)器,學(xué)習(xí)如何通過Ajax交換數(shù)據(jù);針對頁面布局、各類組件、菜單與工具欄等,通過示例說明各種設(shè)定;針對4.0版本,介紹全新的元素、數(shù)據(jù)存儲模型與圖表支持;以記賬系統(tǒng)及人人網(wǎng)應(yīng)用程序為實際案例,體驗真實的項目開發(fā)流程。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載