web前端性能最佳化(2021年電子工業出版社出版的圖書)

web前端性能最佳化(2021年電子工業出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《web前端性能最佳化》是2021年2月電子工業出版社出版的圖書。本書的作者是田佳奇,本書涵蓋了前端最佳化的方方面面,不只是教給讀者解決具體性能問題的工具手冊,更重要的是幫助讀者構築起一套完整的知識體系。在此基礎上讀者可以做到舉一反三,觸類旁通,從一個性能問題出發能夠提出對整個系統的最佳化改進策略。

基本介紹

  • 書名:web前端性能最佳化
  • 作者:田佳奇
  • 出版社:電子工業出版社
  • 出版時間:2021年2月 
  • 頁數:252 頁
  • 定價:79 元
  • 開本:16 開
  • ISBN:9787121403583
內容簡介,圖書目錄,作者簡介,

內容簡介

本書涵蓋了前端最佳化的方方面面,不只是教給讀者解決具體性能問題的工具手冊,更重要的是幫助讀者構築起一套完整的知識體系。在此基礎上讀者可以做到舉一反三,觸類旁通,從一個性能問題出發能夠提出對整個系統的最佳化改進策略。雖然前端性能最佳化是一個老生常談的問題,業界也已經有比較成熟的最佳化方法,但也需要承認這是一個不斷進行著技術更新和疊代的領域,新技術的出現帶來了新的方法同時也會引入新的問題,本書對這些新技術和新問題都有所涉及。另外說到底前端性能最佳化是一個工程實踐,所以本書不僅有紮實全面的理論做基礎,同時還包含了大量的實踐案例,充分做到了理論結合實踐。

圖書目錄

第1 篇 前端性能最佳化概述
第1 章 什麼是性能最佳化 1
1.1 性能的起因 1
1.2 性能的影響 2
1.2.1 用戶的留存 2
1.2.2 網站的轉化率 3
1.2.3 體驗與傳播 3
1.3 性能評估模型 4
1.3.1 回響 4
1.3.2 動畫 5
1.3.3 空閒 5
1.3.4 載入 5
1.4 性能最佳化的步驟 6
1.4.1 性能測量 6
1.4.2 生命周期 7
1.4.3 最佳化方案 8
1.5 本章小結. 9
第2 章 前端頁面的生命周期 10
2.1 一道前端面試題 10
2.2 網路請求執行緒開啟 11
2.2.1 進程與執行緒. 12
2.2.2 單進程瀏覽器 12
2.2.3 多進程瀏覽器 13
2.3 建立HTTP 請求 15
2.3.1 DNS 解析 15
2.3.2 網路模型 16
2.3.3 TCP 連線 17
目錄?OVII
2.4 前後端的互動 19
2.4.1 反向代理伺服器 19
2.4.2 後端處理流程 20
2.4.3 HTTP 相關協定特性 20
2.4.4 瀏覽器快取. 21
2.5 關鍵渲染路徑 22
2.5.1 構建對象模型 23
2.5.2 渲染繪製 25
2.6 本章小結 26
第2 篇 典型模組的性能最佳化
第3 章 圖像最佳化 27
3.1 圖像基礎 27
3.1.1 圖像是否必需 28
3.1.2 矢量圖和點陣圖 28
3.1.3 解析度 31
3.1.4 壓縮的有損和無損 32
3.2 圖像格式 33
3.2.1 JPEG 33
3.2.2 GIF 36
3.2.3 PNG ... 38
3.2.4 WebP 39
3.2.5 SVG ... 41
3.2.6 Base64 42
3.2.7 格式選擇建議 43
3.3 使用建議 43
3.3.1 CSS Sprite 44
3.3.2 Web 字型 46
3.3.3 注意display:none 的使用 47
3.4 本章小結 48
第4 章 載入最佳化 49
4.1 圖像延遲載入 49
4.1.1 什麼是延遲載入 49
4.1.2 實現圖片的延遲載入:傳統方式 52
4.1.3 實現圖片的延遲載入:Intersection Observer 方式 55
4.1.4 實現圖片的延遲載入:CSS 類名方式. 56
4.1.5 原生的延遲載入支持 58
4.2 視頻載入 59
4.2.1 不需要自動播放 59
4.2.2 視頻代替GIF 動畫 60
4.3 載入注意事項 61
4.3.1 首屏載入 62
4.3.2 資源占位 63
4.3.3 內容載入失敗 63
4.3.4 圖像解碼延遲 64
4.3.5 JavaScript 是否可用 65
4.4 資源優先權 66
4.4.1 優先權 66
4.4.2 預載入 67
4.4.3 預連線 68
4.4.4 預提取 68
4.5 本章小結 69
第5 章 書寫高性能的代碼 71
5.1 數據存取 71
5.1.1 數據存取方式 71
5.1.2 作用域和作用域鏈 72
5.1.3 實戰經驗 73
5.2 流程控制 75
5.2.1 條件判斷 75
5.2.2 循環語句 79
5.2.3 遞歸 ... 81
5.3 字元串處理 84
5.3.1 字元串拼接. 84
5.3.2 正則表達式. 85
5.3.3 最佳化正則表達式 87
5.4 快速回響 88
5.4.1 瀏覽器的限制 89
5.4.2 異步佇列 89
5.5 其他建議 90
5.5.1 避免多重求值 90
5.5.2 使用位操作. 91
5.5.3 使用原生方法 92
5.6 本章小結 93
第6 章 構建最佳化 94
6.1 壓縮與合併 94
6.1.1 HTML 壓縮 94
6.1.2 CSS 壓縮 97
6.1.3 JavaScript 壓縮與混淆 98
6.1.4 檔案合併 99
6.2 使用fis3 進行前端構建 102
6.2.1 構建流程 102
6.2.2 構建實操 103
6.3 使用webpack 進行前端構建 105
6.3.1 模組打包工具 105
6.3.2 安裝建議 106
6.3.3 配置檔案 106
6.4 webpack 的最佳化性能 107
6.4.1 儘量與時俱進 107
6.4.2 減少Loader 的執行 107
6.4.3 確保外掛程式的精簡和可靠 108
6.4.4 合理配置resolve 參數 109
6.4.5 使用DllPlugin 110
6.4.6 將單進程轉化為多進程 113
6.4.7 壓縮打包結果的體積 114
6.5 本章小結 117
第7 章 渲染最佳化 118
7.1 頁面渲染性能 118
7.1.1 流暢的使用體驗 118
7.1.2 渲染過程 119
7.2 JavaScript 執行最佳化 120
7.2.1 實現動畫效果 120
7.2.2 恰當使用Web Worker 122
7.2.3 事件節流和事件防抖 124
7.2.4 恰當的JavaScript 最佳化 126
7.3 計算樣式最佳化 128
7.3.1 減少要計算樣式的元素數量 128
7.3.2 降低選擇器的複雜性 129
7.3.3 使用BEM 規範 129
7.4 頁面布局與重繪的最佳化 131
7.4.1 觸發頁面布局與重繪的操作 131
7.4.2 避免對樣式的頻繁改動 131
7.4.3 通過工具對繪製進行評估 133
7.4.4 降低繪製複雜度 136
7.5 合成處理 137
7.5.1 新增圖層 137
7.5.2 僅與合成相關的動畫屬性 137
7.6 本章小結 138
第8 章 伺服器端渲染 139
8.1 頁面渲染 139
8.1.1 頁面渲染的發展 139
8.1.2 多層次最佳化方案 141
8.2 Vue 中的伺服器端渲染 142
8.2.1 Vue 的SSR 基本流程 142
8.2.2 Vue 的SSR 項目實例 143
8.3 React 中的伺服器端渲染 147
8.3.1 項目搭建 147
8.3.2 同構 149
8.3.3 伺服器端渲染的路由設定 150
8.3.4 結合Redux 進行狀態管理 152
8.3.5 通過中間層獲取數據 158
8.3.6 處理樣式 160
8.3.7 搜尋引擎最佳化相關技巧 162
8.4 本章小結 165
第9 章 數據存儲 166
9.1 數據存儲概覽 166
9.1.1 數據存儲分類 166
9.1.2 Cookie 168
9.1.3 Local Storage 和Session Storage 169
9.1.4 Web SQL 170
9.1.5 IndexedDB 171
9.2 通過Chrome 開發者工具調試本地存儲 173
9.2.1 調試Cookie 173
9.2.2 調試Local Storage 和Session Storage 174
9.2.3 調試IndexedDB 175
9.2.4 調試Web SQL 176
9.3 IndexedDB 實踐建議 177
9.3.1 注意平台兼容性 178
9.3.2 完善錯誤處理 178
9.3.3 注意修改、刪除和過期 179
9.3.4 存儲性能 180
9.4 Cache Storage 180
9.4.1 兼容與數據類型 181
9.4.2 創建快取並存儲數據 181
9.4.3 刪除快取 183
9.4.4 檢索與查詢 183
9.5 本章小結 185
第10 章 快取技術 186
10.1 HTTP 快取 186
10.1.1 強制快取. 186
10.1.2 協商快取. 188
10.1.3 快取決策. 190
10.1.4 快取設定注意事項 193
XII?OWeb 前端性能最佳化
10.2 Service Worker 快取 194
10.2.1 Service Worker 概覽 194
10.2.2 生命周期. 195
10.2.3 本地開發注意事項 199
10.2.4 高性能載入 200
10.3 Push 快取 ... 202
10.3.1 後一道快取 202
10.3.2 Push 快取與預載入 203
10.4 CDN 快取 ... 205
10.4.1 CDN 概述 205
10.4.2 套用場景. 208
10.4.3 最佳化實踐. 209
10.5 本章小結 210
第3 篇 前端性能檢測實踐
第11 章 性能檢測 212
11.1 性能檢測概述 212
11.1.1 如何進行性能檢測 213
11.1.2 常見的檢測工具 214
11.2 Lighthouse 221
11.2.1 使用方式 221
11.2.2 性能狀況 223
11.2.3 可訪問性 231
11.2.4 實踐 232
11.2.5 搜尋引擎最佳化 233
11.3 Performance 面板的使用 234
11.3.1 使用方式 234
11.3.2 面板信息 235
11.4 本章小結 239

作者簡介

田佳奇,985軟體工程碩士,5年多前端開發經驗。曾供職於華為,負責某大數據可視化平台的前端開發工作。之前在有贊工作,負責過有讚美業SaaS系統在PC、H5和小程式多端上的項目開發、持續集成及性能最佳化等工作。具有豐富的企業級項目開發經驗,現就職於阿里雲。

相關詞條

熱門詞條

聯絡我們