基於 MVC 的 JavaScript Web 富應用開發 (JavaScript Web Applications)
內容描述
<內容簡介>
在琳瑯滿目的Web富客戶端應用實現方式中,JavaScript在其中巧妙地穿針引線,扮演著"黏合劑”的作用。JavaScript與各種瀏覽器插件技術(Silverlight、ActiveX、Flash、Applet)均擁有互操作能力,無論這種插件技術是主流的、還是生僻的,是傳統的、還是現代的。JavaScript是不需安裝任何插件,便被各大主流Web瀏覽器支持的動態腳本,可謂擁有天然的跨平臺性。未來之RIA,必是以JavaScript為核心!
<章節目錄>
第1章MVC和類
最初
增加結構
什麼是MVC
模型
視圖
控制器
向模塊化進軍,創建類
給類添加函數
給“類”庫添加方法
基於原型的類繼承
給“類”庫添加繼承
函數調用
控制“類”庫的作用域
添加私有函數
“類”庫
第2章事件和監聽
監聽事件
事件順序
取消事件
事件對象
事件庫
切換上下文
委託事件
自定義事件
自定義事件和jQuery插件
DOM無關事件
第3章模型和數據
MVC和命名空間
構建對象關係映射(ORM)
原型繼承
添加ORM屬性
持久化記錄
增加ID支持
尋址引用
裝載數據
直接嵌套數據
通過Ajax加載數據
JSONP
跨域請求的安全性
向ORM中添加記錄
本地存儲數據
給ORM添加本地存儲
將新記錄提交給服務器
第4章控制器和狀態
模塊模式
全局導入
全局導出
添加少量上下文
抽像出庫
文檔加載完成後加載控制器
訪問視圖
委託事件
狀態機
路由選擇
使用URL中的hash
檢測hash的變化
抓取Ajax
使用HTML5 History API
第5章視圖和模板
動態渲染視圖
模板
模板Helpers
模板存儲
綁定
模型中的事件綁定
第6章依賴管理
CommonJS
模塊的聲明
模塊和瀏覽器
模塊加載器
Yabble
RequireJS
包裝模塊
模塊的按需加載
LABjs
無交互行為內容的閃爍(FUBC)
第7章使用文件
瀏覽器支持
獲取文件信息
文件輸入
拖曳
拖曳
釋放拖曳
撤銷默認的Drag/Drop
複製和粘貼
複製
粘貼
讀文件
二進制大文件和文件切割
自定義瀏覽器按鈕
上傳文件
Ajax進度條
jQuery拖曳上傳
創建拖曳目標區域
上傳文件
第8章實時Web
實時Web的發展歷史
WebSocket
Node.js和Socket.IO
實時架構
感知速度
第9章測試和調試
單元測試
斷言
QUnit
Jasmine
驅動
無界面的測試
Zombie
Ichabod
分佈式測試
提供支持
調試工具
Web Inspector
Firebug
控制台
控制台函數
使用JavaScript調試器
分析網絡請求
Profile和函數運行時間
第10章部署
性能
緩存
源碼壓縮(Minification)
Gzip壓縮
使用CDN
審查工具
外部資源
第11章Spine類庫
設置
類
實例化
類擴展
上下文
事件
模型
獲取記錄
模型事件
校驗
持久化
控制器
代理
元素
委託事件
控制器事件
全局事件
渲染模式
元素模式
構建聯繫人管理應用
聯繫人模型
側邊欄控制器
聯繫人控制器
應用程序控制器
第12章Backbone類庫
模型
模型和屬性
集合
控制集合的內部順序
視圖
渲染視圖
委託事件
綁定和上下文
控制器
與服務器的同步
填充集合
服務器端
自定義行為
構建To—Do列表應用
第13章JavaScriptMVC類庫
設置
Class
實例化
調用基類的方法
代理
靜態繼承
自省
一個模型的例子
模型
屬性和可觀察
擴展模型
Setter
Defaults
輔助方法
服務封裝
類型轉換
CRUD事件
在視圖中使用客戶端模板
基本用法
jQuery修改器
用Script標籤加載
$.View和子模板
延時對像
打包、預加載和性能
$.Controller:jQuery插件工廠
概覽
控制器實例化
事件綁定
模板動作
大綜合:一個抽象的CRUD列表
附錄AjQuery基礎
附錄BCSS擴展
附錄CCSS3參考
索引