編輯推薦
資深Web技術專家撰寫,全面而系統闡述Backbone.js開發Web套用所需的知識、技術和實用技巧
以80多個實用案例,深刻剖析Backbone.js開發的常見問題,涵蓋REST、HTML5和移動套用開發等時下非常流行的技術,是高效學習Backbone.js的必備參考
內容簡介
Backbone.js是一個輕量級的JavaScript框架,其精簡的核心功能使得新的開發人員非常容易上手,靈活的外掛程式機制可以保證複雜和個性化功能的實現。本書系統地介紹使用Backbone.js開發Web套用應該掌握的知識,對其背後的實現原理進行了抽絲剝繭式的分析,並且涵蓋一些時下非常流行的技術,如REST,HTML 5以及移動套用開發等。全書自始至終都在力爭使用簡潔的語言、清晰的格式以及豐富的實例來幫助讀者進行高效的學習。無論是對於Web前端開發的新手還是經驗豐富的專業人員而言,通過閱讀本書都能受益匪淺。
《Backbone.js開發秘笈》共8章,全面而系統地介紹了MVC模式和Backbone.js框架,講解了如何使用易於管理的集合來組織多個模型,如何使用Backbone的視圖來渲染模型和集合,如何捕獲DOM事件,如何將模型和集合與RESTful架構的後端系統相互同步,以及如何把它們存儲在HTML 5的本地存儲當中等內容。書中不僅通過豐富的實例闡述Backbone.js基本知識及使用方法,還針對創建擴展外掛程式、測試應用程式、創建移動套用等Backbone開發過程中比較具有挑戰性的問題,提供了具體的解決方案。
作者簡介
Vadim Mirgorod?資深Web技術專家、開源領域專家,現為CoderBlvd主管。他之前曾在頓涅茨克國立工業大學講授Web開發課程,在Trellon公司擔任首席開發工程師,負責使用Drupal和PHP開發各種基於CRM的系統以及Web應用程式。他對技術和創新總是充滿熱情,是一名活躍的社區成員,積極地組織各種IT活動,並且多次在各種國際會議上發表演講。他為內容管理系統Drupal貢獻過代碼,並且還負責維護多個Backbone.js的外掛程式。
目錄
譯者序
前言
致謝
第1章 理解Backbone 1
1.1 導論 1
1.2 使用MVC模式設計套用 2
1.3 使用模型與集合定義業務邏輯 5
1.4 使用視圖與路由器為套用的行為建模 8
1.5 從零開始建立一套應用程式結構 12
1.6 編寫第一個Backbone套用 13
1.7 在套用中實現URL路由 16
1.8 使用外掛程式來擴展套用 19
1.9 如何參與Backbone項目 20
第2章 模型 21
2.1 導論 21
2.2 創建一個模型 21
2.3 模型屬性的操作 24
2.4 模型標識符的操作 25
2.5 模型屬性的驗證 26
2.6 重寫getters與setters方法 28
2.7 通過創建撤銷點來保存或恢復模型的狀態 31
2.8 模型中工作流的實現 34
2.9 在模型中使用高級的驗證方式 38
2.10 驗證HTML表單 42
2.11 在模型中使用嵌套屬性 45
2.12 實現模型間一對一的關係 47
第3章 集合 51
3.1 導論 51
3.2 創建模型的集合 52
3.3 使用索引從集合中獲取模型 53
3.4 使用ID從集合中獲取模型 54
3.5 為集合添加一個模型 54
3.6 從集合中移除一個模型 56
3.7 以棧或佇列的方式使用集合 56
3.8 對集合進行排序 57
3.9 對集合中的模型進行過濾 58
3.10 對集合進行遍歷 59
3.11 集合的鏈式操作 61
3.12 在集合上執行NoSQL查詢 62
3.13 在同一個集合中存儲不同類型的模型 66
3.14 實現一對多的關係 68
第4章 視圖 73
4.1 導論 73
4.2 渲染視圖 73
4.3 使用jQuery處理視圖元素 77
4.4 對視圖中的模型進行渲染 78
4.5 對視圖中的集合進行渲染 80
4.6 將視圖拆分成子視圖 81
4.7 處理視圖的文檔對象模型(DOM)事件 84
4.8 使用Backbone.Router在視圖間進行切換 88
第5章 事件及其綁定 92
5.1 導論 92
5.2 在Backbone.js中管理事件 92
5.3 處理Backbone對象的事件 94
5.4 把模型綁定到視圖 96
5.5 把集合綁定到視圖 98
5.6 使用Backbone.stickit進行雙向綁定 104
5.7 把模型與集合綁定到下拉列表 108
5.8 在視圖中處理快捷鍵 111
5.9 處理路由器事件 112
第6章 模板及其他用戶界面的相關技術 114
6.1 導論 114
6.2 在視圖中使用模板 114
6.3 實現一個模板載入器 117
6.4 使用Mustache模板 119
6.5 定義表單 121
6.6 為表單添加驗證功能 124
6.7 處理表單事件 126
6.8 使用Bootstrap框架定製一個表單 128
6.9 使用LayoutManager構建頁面布局 132
6.10 創建語義化及風格化的數據表格 136
6.11 使用HTML5的畫布元素進行繪圖 142
第7章 REST及存儲 146
7.1 導論 146
7.2 為後端套用構建REST API 147
7.3 使用MongoLab創建一個RESTful後端套用的原型 148
7.4 與RESTful服務同步模型和集合 151
7.5 使用Backbone創建一個RESTful服務的前端套用 155
7.6 使用輪詢技術來獲取數據 165
7.7 使用HTML5本地存儲 170
第8章 其他相關技術 172
8.1 導論 172
8.2 在Backbone對象中使用mixin 173
8.3 使用Grunt創建一個Backbone.js的擴展外掛程式 174
8.4 使用QUnit為Backbone擴展外掛程式編寫測試用例 178
8.5 使用jQuery Mockjax模擬一個RESTful服務來進行異步測試 182
8.6 使用jQuery Mobile開發移動套用 184
8.7 使用PhoneGap創建iOS/Android套用 193
8.8 使用Require.js組織項目結構 196
8.9 使套用與搜尋引擎相兼容 204
8.10 避免Backbone套用中的記憶體泄漏 209