書馨卡幫你省薪 2024個(gè)人購書報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

Backbone.js應(yīng)用程序開發(fā)

作者:AddyOsmani
出版社:人民郵電出版社出版時(shí)間:2014-09-01
開本: 16開 頁數(shù): 316
中 圖 價(jià):¥42.9(7.8折) 定價(jià)  ¥55.0 登錄后可看到會(huì)員價(jià)
加入購物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>

Backbone.js應(yīng)用程序開發(fā) 版權(quán)信息

Backbone.js應(yīng)用程序開發(fā) 本書特色

backbone.js提供了一套web開發(fā)的框架,為復(fù)雜的javascript應(yīng)用程序提供了一個(gè)mvc結(jié)構(gòu)。   《backbone.js應(yīng)用程序開發(fā)》詳細(xì)介紹了如何使用backbone.js完成web應(yīng)用開發(fā)。全書從了解mvc、spa和backbone.js的基本知識(shí)開始,然后著手構(gòu)建3個(gè)示例應(yīng)用程序!禸ackbone.js應(yīng)用程序開發(fā)》還介紹了backbone和grunt-bbb、jquery mobile等開發(fā)工具的配合使用,以及jasmine、qunit和sinonjs等測(cè)試解決方案。   《backbone.js應(yīng)用程序開發(fā)》的作者是知名的javascript專家、谷歌chrome團(tuán)隊(duì)的工程師addy osmani!禸ackbone.js應(yīng)用程序開發(fā)》適合于javascript程序員、web開發(fā)人員,尤其是想要學(xué)習(xí)和使用backbone.js的讀者閱讀參考。

Backbone.js應(yīng)用程序開發(fā) 內(nèi)容簡介

backbone.js提供了一套web開發(fā)的框架,為復(fù)雜javascript應(yīng)用程序提供一個(gè)mvc結(jié)構(gòu),是當(dāng)前javascript開發(fā)的熱點(diǎn)。
addy osmani,本書的作者是知名的javascript專家、谷歌chrome團(tuán)隊(duì)的工程師,知名的博客作家,也是《javascript設(shè)計(jì)模式》一書的作者。

如果你想使用單頁應(yīng)用程序(spa)模型創(chuàng)建前端站點(diǎn),本書向你展示了如何使用backbone.js完成這類工作。你將學(xué)會(huì)使用backbone自有風(fēng)
格的模型-視圖-控制器(mvc)架構(gòu),來創(chuàng)建結(jié)構(gòu)化的javascript應(yīng)用程序。

本書先從了解mvc、spa和backbone的基本知識(shí)開始,然后著手構(gòu)建示例應(yīng)用程序——一個(gè)簡單的todo列表應(yīng)用程序、restful風(fēng)格的圖書應(yīng)用程序、以及使用backbone和requirejs的模塊化應(yīng)用程序。本書的作者是谷歌chrome團(tuán)隊(duì)的工程師addy osmani,他還演示了框架的高級(jí)應(yīng)用。

本書包括以下內(nèi)容:
了解backbone.js如何給客戶端帶來mvc方面的好處;
編寫易于閱讀的、結(jié)構(gòu)化的和易擴(kuò)展代碼 ;
使用backbone.marionette和thorax擴(kuò)展框架;
解決使用backbone.js時(shí)會(huì)遇到的常見問題;
使用amd和requirejs將代碼進(jìn)行模塊化組織;
使用backbone.paginator插件為collections數(shù)據(jù)分頁;
使用樣板代碼引導(dǎo)新的backbone.js應(yīng)用程序;
使用jquery mobile,并解決兩者之間的路由問題;
使用jasmine、qunit和sinonjs對(duì)backbone應(yīng)用進(jìn)行單元測(cè)試。

Backbone.js應(yīng)用程序開發(fā) 目錄

目 錄



第1章 概述 1

1.1 什么是mvc 2

1.2 什么是backbone.js 2

1.3 何時(shí)需要javascript mvc框架 3

1.4 為何考慮backbone.js 4

1.5 設(shè)定預(yù)期目標(biāo) 5



第2章 基本概念 8

2.1 mvc 8

2.1.1 smalltalk-80 mvc 8

2.1.2 mvc應(yīng)用于web 9

2.1.3 客戶端mvc和單頁面應(yīng)用程序 12

2.1.4 客戶端mvc:backbone風(fēng)格 13

2.1.5 實(shí)現(xiàn)規(guī)范 16

2.2 mvc能帶給我們什么 19

2.2.1 深究mvc 19

2.2.2 總結(jié) 20

2.2.3 延伸閱讀 20

2.3 基本概況 20

2.3.1 backbone.js 20

2.3.2 使用案例 21



第3章 backbone基礎(chǔ) 25

3.1 準(zhǔn)備開始 25

3.2 模型(model) 26

3.2.1 初始化 27

3.2.2 默認(rèn)值 27

3.2.3 賦值與取值 28

3.2.4 監(jiān)聽模型變化 30

3.2.5 驗(yàn)證 32

3.3 視圖(view) 33

3.3.1 創(chuàng)建視圖 33

3.3.2 el是什么 34

3.4 集合(collection) 39

3.4.1 添加和移除模型 40

3.4.2 檢索模型 40

3.4.3 事件監(jiān)聽 42

3.4.4 重置和刷新集合 44

3.4.5 underscore實(shí)用函數(shù) 45

3.4.6 鏈?zhǔn)絘pi 49

3.5 restful持久化 50

3.5.1 從服務(wù)器上獲取模型 50

3.5.2 保存模型到服務(wù)器 50

3.5.3 從服務(wù)器刪除模型 51

3.5.4 選項(xiàng) 52

3.6 事件(event) 52

3.6.1 on()、off()和trigger() 53

3.6.2 listento()和stoplistening() 56

3.6.3 事件與視圖 57

3.7 路由(router) 58

3.8 backbone同步api 63

3.9 依賴文件 67

3.10 總結(jié) 67



第4章 練習(xí)1:todos——**個(gè)backbone.js應(yīng)用程序 68

4.1 靜態(tài)html 69

4.1.1 html頭部和script腳本 69

4.1.2 應(yīng)用程序html 70

4.1.3 模板 71

4.2 todo模型 72

4.3 todo集合 72

4.4 應(yīng)用程序視圖(appview) 74

4.5 獨(dú)立的待辦項(xiàng)視圖(todoview) 79

4.6 程序啟動(dòng) 81

4.7 實(shí)戰(zhàn)操作 82

4.8 標(biāo)記完成或刪除todo項(xiàng) 84

4.9 todo路由 86

4.10 總結(jié) 88



第5章 練習(xí)2:book library——**個(gè)restful風(fēng)格的backbone.js應(yīng)用程序 89

5.1 程序建立 89

5.2 界面布局 96

5.2.1 添加模型 96

5.2.2 刪除模型 97

5.3 創(chuàng)建后端系統(tǒng) 98

5.3.1 安裝node.js、npm、mongodb 98

5.3.2 安裝node模塊 99

5.3.3 創(chuàng)建簡單的web服務(wù)器 99

5.3.4 連接到數(shù)據(jù)庫 102

5.4 和服務(wù)器通信 108

5.5 總結(jié) 113



第6章 backbone擴(kuò)展 114

6.1 marionettejs(backbone.marionette) 114

6.1.1 boilerplate渲染代碼 116

6.1.2 使用marionette.itemview減少boilerplate 117

6.1.3 內(nèi)存管理 117

6.1.4 區(qū)域管理 120

6.1.5 marionette todo應(yīng)用程序 122

6.1.6 todo應(yīng)用程序的marionette實(shí)現(xiàn)更具可維護(hù)性嗎? 132

6.1.7 marionette與靈活性 132

6.1.8 更多特性 134

6.2 thorax 134

6.2.1 hello world 134

6.2.2 嵌入子視圖 135

6.2.3 視圖助手 136

6.2.4 集合助手 137

6.2.5 自定義html data屬性 138

6.2.6 thorax資源 139

6.3 總結(jié) 140



第7章 常見問題和解決方案 141

7.1 使用嵌套視圖 141

7.1.1 問題 141

7.1.2 解決方案1 141

7.1.3 解決方案2 142

7.1.4 解決方案3 143

7.1.5 解決方案4 143

7.2 在嵌套視圖中管理模型 145

7.2.1 問題 145

7.2.2 解決方案 145

7.3 在子視圖中渲染父視圖 146

7.3.1 問題 146

7.3.2 解決方案 146

7.4 消除視圖層級(jí)結(jié)構(gòu) 147

7.4.1 問題 147

7.4.2 解決方案 147

7.5 渲染視圖層級(jí)結(jié)構(gòu) 148

7.5.1 問題 148

7.5.2 解決方案 148

7.6 使用嵌套模型或嵌套集合 149

7.6.1 問題 149

7.6.2 解決方案 149

7.7 更好的模型屬性驗(yàn)證 150

7.7.1 問題 150

7.7.2 解決方案 150

7.7.3 backbone.validateall 152

7.7.4 backbone.validation 154

7.7.5 特定表單驗(yàn)證類 155

7.8 避免多個(gè)backbone版本的沖突 155

7.8.1 問題 155

7.8.2 解決方案 155

7.9 構(gòu)建層級(jí)模型和層級(jí)視圖 156

7.9.1 問題 156

7.9.2 解決方案 156

7.9.3 調(diào)用重載方法 157

7.9.4 backbone-super 159

7.10 事件聚合器和中介者 159

7.10.1 問題 159

7.10.2 解決方案 160

7.10.3 事件聚合器 160

7.10.4 中介者 161

7.10.5 相似性與差異性 162

7.10.6 關(guān)系:何時(shí)用,用哪個(gè) 163

7.10.7 事件聚合器與中介器一起使用 164

7.10.8 模式語言:語義 165



第8章 模塊化開發(fā) 166

8.1 使用requirejs和amd組織模型 166

8.1.1 多個(gè)腳本文件的可維護(hù)性問題 167

8.1.2 需要更好的依賴管理 167

8.1.3 異步模塊定義(amd) 168

8.1.4 使用requirejs編寫amd模塊 168

8.1.5 requirejs入門 170

8.1.6 require.js/backbone示例 172

8.1.7 使用requirejs和text插件將模板保持在外部 176

8.1.8 使用requirejs優(yōu)化生產(chǎn)環(huán)境中的backbone應(yīng)用 177

8.2 總結(jié) 180



第9章 練習(xí)3:**個(gè)模塊化的backbone/requirejs應(yīng)用程序 181

9.1 概述 181

9.2 html代碼 182

9.3 配置選項(xiàng) 183

9.4 模塊化模型、視圖、集合 184

9.5 基于路由的模塊加載 189

9.5.1 基于json的模塊配置 189

9.5.2 模塊加載器 190

9.5.3 使用nodejs處理pushstate 191

9.6 另外一種依賴管理方式 192



第10章 對(duì)backbone.js請(qǐng)求和集合進(jìn)行分頁 193

10.1 backbone.paginator 194

10.2 paginator.requestpager 195

10.3 paginator.clientpager 199

10.3.1 便利方法 202

10.3.2 實(shí)現(xiàn)備注 204

10.3.3 插件 205

10.3.4 引導(dǎo) 206

10.3.5 樣式化 207

10.4 總結(jié) 208



第11章 backbone boilerplate和grunt-bbb 209

11.1 準(zhǔn)備開始 211

11.2 創(chuàng)建新項(xiàng)目 211

11.2.1 index.html 212

11.2.2 config.js 213

11.2.3 main.js 215

11.2.4 app.js 216

11.2.5 創(chuàng)建backbone樣板模塊 218

11.2.6 router.js 220

11.3 其他有用的工具和項(xiàng)目 221

11.3.1 yeoman 221

11.3.2 backbone devtools 223

11.4 總結(jié) 223



第12章 backbone和jquery mobile 224

12.1 使用jquery mobile進(jìn)行移動(dòng)應(yīng)用開發(fā) 224

12.1.1 jqmobile漸進(jìn)部件增強(qiáng)原則 225

12.1.2 理解jquery mobile導(dǎo)航 226

12.2 backbone應(yīng)用的基礎(chǔ)設(shè)置(用于jquery mobile) 227

12.3 backbone和jquerymobile的工作流程 230

12.3.1 路由到具體視圖頁面,繼承于basicview 231

12.3.2 移動(dòng)頁面模板的管理 232

12.3.3 dom管理與$.mobile.changepage 234

12.4 在backbone上應(yīng)用jqm高級(jí)技術(shù) 237

12.4.1 動(dòng)態(tài)dom腳本 237

12.4.2 攔截jquery mobile事件 239

12.4.3 性能 240

12.4.4 智能的多平臺(tái)支持管理 241



第13章 jasmine 246

13.1 行為驅(qū)動(dòng)開發(fā) 246

13.2 suite、spec以及spie 248

13.3 beforeeach()和aftereach() 252

13.4 共享作用域 254

13.5 準(zhǔn)備開始 255

13.6 tdd與backbone 256

13.7 模型 256

13.8 集合 258

13.9 視圖 260

13.10 練習(xí) 268

13.11 延伸閱讀 268

13.12 總結(jié) 268



第14章 qunit 269

14.1 準(zhǔn)備開始 269

14.2 斷言 272

14.2.1 使用test(name, callback)編寫基礎(chǔ)測(cè)試用例 272

14.2.2 比較函數(shù)的實(shí)際輸出和期望輸出 273

14.3 為斷言添加結(jié)構(gòu) 273

14.3.1 qunit基本模塊 273

14.3.2 使用setup()和teardown() 274

14.3.3 使用setup()和teardown()用于初始化和清理工作 274

14.4 斷言示例 275

14.5 fixtures 276

14.6 異步代碼 279



第15章 sinonjs 281

15.1 sinonjs概述 281

15.1.1 基礎(chǔ)spy 282

15.1.2 在現(xiàn)有函數(shù)上監(jiān)聽 282

15.1.3 檢測(cè)接口 282

15.2 stub與mock 284

15.2.1 stub 284

15.2.2 mock 285

15.3 練習(xí) 286

15.3.1 模型 286

15.3.2 集合 288

15.3.3 視圖 289

15.3.4 app 290

15.4 延伸閱讀與資源 291



第16章 結(jié)論 293



附錄a 延伸學(xué)習(xí) 295

附錄b 資源 313



封面介紹 316
展開全部

Backbone.js應(yīng)用程序開發(fā) 相關(guān)資料

“編寫web應(yīng)用程序是一個(gè)復(fù)雜的過程,但osmani卻能用backbone.js將這些片段分解成簡單、可管理的部分。本書為讀者提供了成功設(shè)計(jì)、部署、和測(cè)試復(fù)雜web應(yīng)用程序的基礎(chǔ)和結(jié)構(gòu)。”
——samuel clay,newsblur創(chuàng)始人

“要編寫可擴(kuò)展、可維護(hù)、富數(shù)據(jù)的web應(yīng)用程序,你需要使用backbone.js!
——marc friedman,美國康普公司高級(jí)資深軟件工程師

Backbone.js應(yīng)用程序開發(fā) 作者簡介

Addy Osmani,本書的作者是知名的JavaScript專家、谷歌Chrome團(tuán)隊(duì)的工程師,他對(duì)JavaScript應(yīng)用程序架構(gòu)有著強(qiáng)烈的愛好,還創(chuàng)建了一些比較流行的項(xiàng)目,如TodoMVC,并且對(duì)Yeoman、Modernizr和jQuery等其他開源項(xiàng)目也有重要貢獻(xiàn)。除此之外,Addy Osmani也是一位高產(chǎn)的博主(http://addyosmani.com/blog),同時(shí)也是O'reilly出版的《JavaScript設(shè)計(jì)模式》一書的作者。

商品評(píng)論(0條)
暫無評(píng)論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服