首 頁
手機(jī)版

SPA設(shè)計(jì)與架構(gòu):理解單頁面Web應(yīng)用 Emmit A.Scott pdf掃描版

  • 軟件大?。?9.99M
  • 軟件語言:簡體中文
  • 軟件類型:國產(chǎn)軟件
  • 軟件授權(quán):免費(fèi)軟件
  • 更新時(shí)間:2023/09/07
  • 軟件類別:電子閱讀
  • 應(yīng)用平臺:Windows10,Windows8,Windows7,WinVista,Win2003,WinXP,Win2000
網(wǎng)友評分:6.7分
網(wǎng)友評論 下載地址 收藏該頁
本地下載

SPA設(shè)計(jì)與架構(gòu):理解單頁面Web應(yīng)用是一本SPA開發(fā)教學(xué)書籍,由美國的埃米頓.斯科特[ Emmit A.Scott]編著,本書講述SPA應(yīng)用程序構(gòu)建所需的設(shè)計(jì)與開發(fā)技術(shù)。書中首先介紹SPA模型,并闡述SPA標(biāo)準(zhǔn)構(gòu)建方式。隨著內(nèi)容的展開,作者通過具體的SPA構(gòu)建知識點(diǎn)引導(dǎo)你前進(jìn),涵蓋MV框架、單元測試、路由、布局管理、數(shù)據(jù)訪問、發(fā)布/訂閱模式以及客戶端任務(wù)自動化等內(nèi)容。書中示例豐富易懂,并可結(jié)合各種第三方庫或框架來創(chuàng)建,適用于對前端及對SPA 技術(shù)感興趣的開發(fā)者閱讀。

內(nèi)容簡介

SPA 開發(fā)技術(shù)的運(yùn)用是當(dāng)今Web 開發(fā)領(lǐng)域的熱門趨勢,但真正全面掌握該技術(shù)的開發(fā)者并不多。本書詳盡闡述單頁面Web 應(yīng)用(SPA)開發(fā)技術(shù),從SPA 構(gòu)建基礎(chǔ)入手,通過MV、模塊化編程、路由、模塊間通信、服務(wù)器端交互等概念的闡述,全面介紹SPA 的設(shè)計(jì)與架構(gòu),幫助讀者正確掌握SPA 開發(fā)的各方面知識要素。同時(shí),《SPA設(shè)計(jì)與架構(gòu):理解單頁面Web應(yīng)用》中還討論了SPA 的單元測試及客戶端任務(wù)自動化,覆蓋了從開發(fā)到部署的一系列任務(wù),讓讀者在閱讀完本書之后能夠打下扎實(shí)的SPA 開發(fā)基礎(chǔ)。

《SPA設(shè)計(jì)與架構(gòu):理解單頁面Web應(yīng)用》的重點(diǎn)是幫助讀者正確、全面地掌握SPA 開發(fā)概念,這些概念都是通用的。但為了讓內(nèi)容更全面、具體,本書將通過Knockout、Backbone.js 及AngularJS 這三種不同風(fēng)格的MV*框架來進(jìn)行比較性討論,這是本書的一大特色。同時(shí)在涉及具體MV*框架知識點(diǎn)時(shí),書中會提供相應(yīng)介紹。書中示例豐富具體,并提供完整源代碼下載。

SPA設(shè)計(jì)與架構(gòu):理解單頁面Web應(yīng)用章節(jié)目錄

第1 部分 基礎(chǔ)知識 1
1 單頁面應(yīng)用程序介紹 3
1.1 SPA 簡述 4
1.1.1 無須刷新瀏覽器 7
1.1.2 表現(xiàn)邏輯位于客戶端 7
1.1.3 服務(wù)器端事務(wù)處理 7
1.2 更進(jìn)一步 8
1.2.1 以Shell 頁面開始 8
1.2.2 從傳統(tǒng)頁面到視圖 9
1.2.3 視圖的產(chǎn)生 10
1.2.4 實(shí)現(xiàn)無刷新的視圖切換 11
1.2.5 貫穿動態(tài)更新過程的流暢性 12
1.3 SPA 應(yīng)用相較傳統(tǒng)Web 應(yīng)用的優(yōu)勢 12
1.4 溫故知新 13
1.5 優(yōu)秀SPA 應(yīng)用的構(gòu)成 15
1.5.1 組織項(xiàng)目 15
1.5.2 創(chuàng)建可維護(hù)的松耦合UI 17
1.5.3 使用JavaScript 模塊 18
1.5.4 執(zhí)行SPA 導(dǎo)航 19
1.5.5 創(chuàng)建視圖組成與布局 19
1.5.6 模塊通信 20
1.5.7 與服務(wù)器端通信 20
1.5.8 執(zhí)行單元測試 20
1.5.9 客戶端自動化技術(shù) 20
1.6 小結(jié) 21
2 MV* 框架介紹 .22
2.1 MV* 概念 24
2.1.1 傳統(tǒng)UI 設(shè)計(jì)模式 25
2.1.2 MV* 和瀏覽器環(huán)境 27
2.2 MV* 基礎(chǔ)概念 28
2.2.1 框架 29
2.2.2 我們的MV* 項(xiàng)目 30
2.2.3 模型 32
2.2.4 綁定 36
2.2.5 模板 40
2.2.6 視圖 44
2.3 為什么要用MV* 框架 44
2.3.1 關(guān)注分離 . 45
2.3.2 簡化日常任務(wù) 46
2.3.3 提升生產(chǎn)率 47
2.3.4 標(biāo)準(zhǔn)化 47
2.3.5 可擴(kuò)展性 48
2.4 框架選擇 48
2.5 挑戰(zhàn)環(huán)節(jié) 50
2.6 小結(jié) 50
3 JavaScript 模塊化 52
3.1 模塊概念 53
3.1.1 模塊模式概念 53
3.1.2 模塊結(jié)構(gòu) 54
3.1.3 揭示模式 55
3.2 模塊化編程的意義 56
3.2.1 避免命名沖突 56
3.2.2 保護(hù)代碼完整性 65
3.2.3 隱藏復(fù)雜性 67
3.2.4 降低代碼改變帶來的沖擊 68
3.2.5 代碼組織 68
3.2.6 模塊模式的不足 69
3.3 模塊模式剖析 69
3.3.1 可訪問性控制 69
3.3.2 創(chuàng)建公有API 70
3.3.3 允許全局導(dǎo)入 73
3.3.4 創(chuàng)建模塊的命名空間 73
3.4 模塊加載及依賴管理 74
3.4.1 腳本加載器 74
3.4.2 異步模塊定義――AMD 75
3.4.3 通過RequireJS 實(shí)踐AMD 76
3.5 挑戰(zhàn)環(huán)節(jié) 81
3.6 小結(jié) 81
第2 部分 核心概念 83
4 單頁面導(dǎo)航 85
4.1 客戶端路由器概念 86
4.1.1 傳統(tǒng)導(dǎo)航 86
4.1.2 SPA 導(dǎo)航 86
4.2 路由及其配置 88
4.2.1 路由語法 90
4.2.2 路由配置項(xiàng) 90
4.2.3 路由參數(shù) 91
4.2.4 缺省路由 93
4.3 客戶端路由器的工作機(jī)制 93
4.3.1 片段標(biāo)識符方式 94
4.3.2 HTML5 歷史API 方式 95
4.3.3 使用HTML5 歷史API 方式 97
4.4 綜合實(shí)作:實(shí)現(xiàn)SPA 路由 98
4.4.1 教員列表(缺省路由) 99
4.4.2 主要聯(lián)系人路由 101
4.4.3 教員授課時(shí)間(參數(shù)化路由) 102
4.5 挑戰(zhàn)環(huán)節(jié) 104
4.6 小結(jié) 105
5 視圖合成與布局 106
5.1 項(xiàng)目介紹 107
5.2 布局設(shè)計(jì)概念 108
5.2.1 視圖 108
5.2.2 Region 109
5.2.3 視圖合成 110
5.2.4 嵌套視圖 111
5.2.5 路由 112
5.3 高級合成與布局的可選方案 113
5.3.1 優(yōu)點(diǎn) 113
5.3.2 缺點(diǎn) 114
5.4 設(shè)計(jì)應(yīng)用程序 114
5.4.1 設(shè)計(jì)基本布局 115
5.4.2 設(shè)計(jì)基本內(nèi)容 117
5.4.3 在復(fù)雜設(shè)計(jì)中應(yīng)用視圖管理 122
5.4.4 通過自身狀態(tài)創(chuàng)建嵌套視圖 125
5.5 挑戰(zhàn)環(huán)節(jié) 127
5.6 小結(jié) 128
6 模塊間交互 129
6.1 模塊概念回顧 131
6.1.1 用模塊封裝代碼 131
6.1.2 API 提供對內(nèi)部功能的訪問控制 133
6.1.3 SRP――以單一目的作為設(shè)計(jì)出發(fā)點(diǎn) 134
6.1.4 代碼重用――控制項(xiàng)目規(guī)模 135
6.2 模塊間交互方式 136
6.2.1 通過依賴進(jìn)行模塊間交互 136
6.2.2 依賴方式的優(yōu)缺點(diǎn) 138
6.2.3 通過發(fā)布/ 訂閱模式進(jìn)行模塊間交互 138
6.2.4 發(fā)布/ 訂閱模式優(yōu)缺點(diǎn) 141
6.3 示例項(xiàng)目細(xì)節(jié) 142
6.3.1 搜索功能 144
6.3.2 顯示產(chǎn)品信息 150
6.4 挑戰(zhàn)環(huán)節(jié) .. 155
6.5 小結(jié) . 155
7 與服務(wù)器端通信 156
7.1 示例項(xiàng)目新要求 157
7.2 與服務(wù)器端通信綜述 158
7.2.1 選擇數(shù)據(jù)類型 158
7.2.2 HTTP 請求方法 159
7.2.3 數(shù)據(jù)轉(zhuǎn)換 160
7.3 使用MV* 框架 161
7.3.1 請求生成 162
7.3.2 通過回調(diào)函數(shù)處理結(jié)果 165
7.3.3 通過Promise 處理結(jié)果 166
7.3.4 Promise 錯(cuò)誤處理 170
7.4 RESTful Web 服務(wù)調(diào)用 172
7.4.1 什么是REST 172
7.4.2 REST 原則 172
7.4.3 MV* 框架的RESTful 支持 174
7.5 示例項(xiàng)目細(xì)節(jié) 174
7.5.1 配置REST 調(diào)用174
7.5.2 添加產(chǎn)品到購物車 177
7.5.3 查看購物車 179
7.5.4 修改購物車 181
7.5.5 從購物車中移除產(chǎn)品 183
7.6 挑戰(zhàn)環(huán)節(jié) 184
7.7 小結(jié) 184
8 單元測試 186
8.1 示例項(xiàng)目說明 187
8.2 什么是單元測試 187
8.2.1 單元測試的好處188
8.2.2 構(gòu)建更好的單元測試 189
8.3 傳統(tǒng)的單元測試 192
8.3.1 QUnit 起步 193
8.3.2 創(chuàng)建第一個(gè)單元測試 196
8.3.3 測試由MV* 對象創(chuàng)建的代碼 200
8.3.4 測試對DOM 所做的改變 205
8.3.5 混合使用其他測試框架206
8.4 挑戰(zhàn)環(huán)節(jié) 208
8.5 小結(jié) 208
9 客戶端任務(wù)自動化 209
9.1 Task Runner 的常見用途 210
9.1.1 即時(shí)刷新瀏覽器 210
9.1.2 自動化JavaScript 和CSS 的預(yù)處理過程 211
9.1.3 自動化Linter 代碼分析 211
9.1.4 持續(xù)單元測試 211
9.1.5 文件串接 212
9.1.6 代碼壓縮 212
9.1.7 持續(xù)集成 212
9.2 Task Runner 選擇 212
9.3 本章示例項(xiàng)目 213
9.3.1 Gulp.js 介紹 214
9.3.2 創(chuàng)建第一個(gè)任務(wù) 215
9.3.3 創(chuàng)建代碼分析任務(wù) 216
9.3.4 創(chuàng)建瀏覽器刷新任務(wù) 218
9.3.5 自動化單元測試220
9.3.6 創(chuàng)建構(gòu)建過程 222
9.4 挑戰(zhàn)環(huán)節(jié) 227
9.5 小結(jié) 227
A 員工通訊錄示例說明 229
B XMLHttpRequest API 259
C 第7 章內(nèi)容的服務(wù)器端設(shè)置與總結(jié) 266
D 安裝Node.js 與Gulp.js 277

使用說明

1、下載并解壓,得出pdf文件

2、如果打不開本文件,請務(wù)必下載pdf閱讀器

3、安裝后,在打開解壓得出的pdf文件

4、雙擊進(jìn)行閱讀

收起介紹展開介紹
  • 下載地址
SPA設(shè)計(jì)與架構(gòu):理解單頁面Web應(yīng)用 Emmit A.Scott pdf掃描版

有問題? 點(diǎn)此報(bào)錯(cuò)

發(fā)表評論

0條評論