圖書簡介,內容簡介,圖書目錄,
圖書簡介
《同構JavaScript套用開發》是人民郵電出版社出版的一本圖書。
內容簡介
《同構JavaScript套用開發》將向你展示如何構建和維護屬於自己的同構JavaScript套用。《同構JavaScript套用開發》分為三部分,第 一部分描繪不同種類的同構JavaScript的輪廓,第 二部分介紹關鍵概念,第三部分提供業界同行的解決方案案例。
圖書目錄
前言 ix
第 一部分 簡介與關鍵概念
第 1章 為什麼需要同構JavaScript 2
1.1 定義同構JavaScript 3
1.2 評價其他的Web套用架構方案 3
1.2.1 狀況的改變 3
1.2.2 工程上的關注點 4
1.2.3 可選架構 4
1.3 附加說明:何時不使用同構 10
1.4 小結 11
第 2章 同構JavaScript圖譜 12
2.1 共享視圖 13
2.1.1 共享模板 14
2.1.2 共享視圖邏輯 14
2.2 共享路由 14
2.3 共享模型 15
2.4 小結 15
第3章 同構JavaScript分類 16
3.1 與環境無關的代碼 18
3.2 為每個特定環境提供shim 19
3.3 小結 20
第4章 超越伺服器端的渲染 21
4.1 實時Web套用 22
4.1.1 同構API 23
4.1.2 雙向數據同步 23
4.1.3 在伺服器端進行客戶端仿真 23
4.2 小結 24
第 二部分 構建第 一個套用
第5章 起步 26
5.1 Node的安裝和運行 27
5.1.1 從源碼安裝 27
5.1.2 與Node REPL互動 28
5.1.3 使用npm 管理項目 28
5.2 建立套用項目 29
5.2.1 初始化項目 29
5.2.2 安裝套用伺服器 31
5.2.3 編寫下一代的JavaScript(ES6) 32
5.2.4 將ES6編譯為ES5 34
5.2.5 建立開發流程 35
5.3 小結 39
第6 章 提供第 一份HTML文檔 40
6.1 提供HTML模板 40
6.2 使用路徑參數與查詢參數 42
6.3 小結 45
第7章 設計套用架構 46
7.1 理解問題 47
7.2 回響用戶請求 47
7.2.1 創建Application類 47
7.2.2 創建控制器 49
7.2.3 構造控制器實例 50
7.2.4 拓展控制器 52
7.2.5 改進回響流 53
7.3 小結 57
第8章 將套用傳輸到客戶端 58
8.1 打包套用的客戶端版本 58
8.1.1 選擇打包庫 58
8.1.2 創建打包任務 59
8.1.3 添加客戶端實現 61
8.2 回響用戶請求 62
8.2.1 利用History API 63
8.2.2 回響並調用History API 63
8.3 客戶端路由 67
8.4 組織代碼 73
8.5 小結 75
第9章 創建常用的抽象 76
9.1 何時抽象,為什麼需要抽象 76
9.2 獲取和設定cookie 77
9.3 重定向請求 84
9.4 小結 88
第 10章 序列化、反序列化和添加事件監聽 89
10.1 序列化數據 90
10.2 創建控制器實例 92
10.3 反序列化數據 93
10.4 添加DOM事件處理器 94
10.5 驗證rehydration過程 96
10.6 小結 98
第 11章 結束感言 99
11.1 生產準備 99
11.2 衡量架構 99
11.3 小結 102
第三部分 現實世界的解決方案
第 12章 沃爾瑪實驗室的同構React.js方案 104
12.1 物種起源 104
12.1.1 問題 105
12.1.2 解決方案 106
12.2 React模板與模式 106
12.2.1 在伺服器端渲染 106
12.2.2 在客戶端恢復 110
12.3 沃爾瑪採用的方法 112
12.4 克服挑戰 112
12.4.1 首位元組時間 112
12.4.2 組件渲染最佳化 113
12.4.3 性能提升 117
12.5 下一步 119
12.6 感謝 120
12.7 補充說明 120
第 13章 全棧Angular 121
13.1 同構JavaScript:Web套用的未來 122
13.2 同構Angular 1 122
13.3 Angular 2伺服器端渲染 124
13.3.1 伺服器端渲染的用例 124
13.3.2 Web 套用脫節 126
13.3.3 Angular 2渲染架構 127
13.3.4 Preboot 128
13.4 Angular Universal 128
13.5 GetHuman.com 130
13.6 補充說明 131
第 14章 Brisket 132
14.1 問題 132
14.2 兩全其美 134
14.3 早期Brisket 135
14.4 成為現實 136
14.5 代碼自由 136
14.6 跨環境一致的API 139
14.6.1 模型/ 集合 140
14.6.2 視圖生命周期 140
14.6.3 子視圖管理 141
14.6.4 跨環境使用的工具 141
14.7 前進之路 142
14.7.1 ClientApp與ServerApp 142
14.7.2 布局模板 142
14.7.3 其他經驗教訓 143
14.8 Brisket的下一步? 143
14.9 補充說明 144
第 15章 Colony案例研究:脫離Node創建同構套用 145
15.1 問題 145
15.2 模板 146
15.3 數據 147 15.4 轉譯視圖模型 148 15.5 布局 150 15.6 頁面生成器 152 15.7 前端SPA 152 15.8 架構 153
15.9 後續計畫 154
第 16 章 結語 155
16.1 設計模式、Flux和同構JavaScript家族 155
16.1.1 永遠相信JavaScrip 156
16.1.2 命名與理解 157
關於作者 159
關於封面 159