-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Web性能實戰

( 簡體 字)
作者:[美]杰里米·瓦格納(Jeremy Wagner)類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社Web性能實戰 3dWoo書號: 52856
詢問書籍請說出此書號!

缺書
NT售價: 495

出版日:6/1/2020
頁數:305
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115538321
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

在Web 變得越來越復雜的時代,解決Web 性能問題正當時。本書旨在幫助讀者創建更加快速的網站,內容涵蓋Web 性能的基礎知識、性能評估工具、CSS 優化、圖像優化、字體優化、JavaScript 相關的內容、Brotli 壓縮算法、資源提示、配置緩存策略、HTTP/2,等等。
目錄:

第 1 章 理解Web 性能    1
1.1 理解Web 性能 1
1.1.1 Web 性能和用戶體驗 1
1.1.2 Web 瀏覽器如何與Web 服務器通信 2
1.1.3 Web 頁面如何加載 4
1.2 上手準備 5
1.2.1 安裝Node.js 和Git 6
1.2.2 下載并運行客戶的網站 6
1.2.3 模擬網絡連接 7
1.3 檢查客戶網站 8
1.4 優化客戶網站 10
1.4.1 縮小資源 11
1.4.2 使用服務器壓縮 13
1.4.3 壓縮圖像 16
1.5 最終性能測試 18
1.6 小結 19
第 2 章 使用評估工具 20
2.1 使用Google PageSpeed Insights 進行評估 20
2.1.1 評估網站性能 20
2.1.2 使用Google Analytics 進行批量報告 23
2.2 使用基于瀏覽器的評估工具 24
2.3 檢查網絡請求 25
2.3.1 查看計時信息 25
2.3.2 查看HTTP 請求和響應頭 27
2.4 渲染性能檢查工具 29
2.4.1 理解瀏覽器如何渲染網頁 29
2.4.2 使用Google Chrome 的Performance 面板 30
2.4.3 識別問題事件:jank 是元兇 32
2.4.4 用JavaScript 在時間線中標記點 37
2.4.5 其他瀏覽器中的渲染分析器 38
2.5 在Chrome 中對JavaScript 進行基準測試 39
2.6 模擬和監控設備 40
2.6.1 在桌面Web 瀏覽器中模擬設備 41
2.6.2 在Android 設備上遠程調試網站 42
2.6.3 在iOS 設備上遠程調試網站 43
2.7 創建自定義網絡節流配置 44
2.8 小結 45
第3 章 優化CSS 47
3.1 直入主題,保持DRY 47
3.1.1 簡寫CSS 47
3.1.2 使用CSS 淺選擇器 50
3.1.3 挑選淺選擇器 51
3.1.4 LESS 和SASS 預編譯器:簡單就是美 52
3.1.5 不要重復自己 53
3.1.6 實現DRY 53
3.1.7 使用csscss 查找冗余 54
3.1.8 分割CSS 56
3.1.9 自定義框架下載 57
3.2 移動優先即用戶優先 58
3.2.1 移動優先與桌面優先 58
3.2.2 Mobilegeddon 算法 61
3.2.3 使用Google 的移動友好指南 62
3.2.4 驗證網站的移動友好性 63
3.3 對CSS 進行性能調整 63
3.3.1 避免使用 @import 聲明 63
3.3.2 @import 串行請求 64
3.3.3 并行請求 64
3.3.4 在中放置CSS 65
3.3.5 防止無樣式內容閃爍 65
3.3.6 提高渲染速度 66
3.3.7 使用更快的選擇器 66
3.3.8 構建和運行基準測試 67
3.3.9 檢查基準測試結果 68
3.3.10 盡可能使用flexbox 69
3.3.11 對比盒子模型和flexbox 樣式 69
3.3.12 檢查基準測試結果 70
3.4 使用CSS 過渡 71
3.4.1 使用CSS 過渡 71
3.4.2 觀察CSS 過渡性能 73
3.4.3 使用will-change 屬性優化過渡 74
3.5 小結 75
第4 章 理解關鍵CSS 76
4.1 關鍵CSS 及其解決的問題 76
4.1.1 理解折疊 76
4.1.2 理解渲染阻塞 77
4.2 關鍵CSS 的原理 78
4.2.1 加載首屏樣式 79
4.2.2 加載首屏以外內容的樣式 79
4.3 實現關鍵CSS 80
4.3.1 配置并運行菜譜網站 81
4.3.2 識別和分離首屏CSS 82
4.3.3 加載首屏以外內容的CSS 88
4.4 權衡收益 89
4.5 提升可維護性 91
4.6 多頁網站的注意事項 91
4.7 小結 92
第5 章 響應式圖像 94
5.1 為什么要考慮圖像傳輸 94
5.2 理解圖像類型及其應用 96
5.2.1 使用光柵圖像 96
5.2.2 使用SVG 圖像 99
5.2.3 選擇圖像格式 100
5.3 CSS 中的圖像傳輸 101
5.3.1 使用媒體查詢在CSS 中適配顯示器 101
5.3.2 通過媒體查詢適配高DPI 顯示器 104
5.3.3 在CSS 中使用SVG 背景圖像 106
5.4 在HTML 中傳輸圖像 106
5.4.1 圖像的全局max-width規則 107
5.4.2 使用srcset 107
5.4.3 使用元素 110
5.4.4 使用Picturefill 提供polyfill支持 114
5.4.5 在HTML 中使用SVG 116
5.5 小結 117
第6 章 圖像的進一步處理 118
6.1 使用圖像雪碧圖 118
6.1.1 準備工作 119
6.1.2 生成雪碧圖 119
6.1.3 使用生成的雪碧圖 121
6.1.4 使用雪碧圖時的考量 122
6.1.5 使用Grumpicon 回退到光柵圖像雪碧圖 123
6.2 縮小圖像 124
6.2.1 使用imagemin 優化光柵圖像 125
6.2.2 優化SVG 圖像 129
6.3 使用WebP 編碼圖像 131
6.3.1 使用imagemin 編碼有損WebP 圖像 132
6.3.2 使用imagemin 編碼無損WebP 圖像 133
6.3.3 支持不支持WebP 的瀏覽器 134
6.4 懶加載圖像 136
6.4.1 配置標記 137
6.4.2 編寫懶加載程序 138
6.4.3 考慮不支持JavaScript 的用戶 144
6.5 小結 146
第7 章 更快的字體 148
7.1 明智地使用字體 149
7.1.1 選擇字體和字體變體 149
7.1.2 構建你自己的@font-face級聯 151
7.2 壓縮EOT 和TTF 字體格式 154
7.3 取字體子集 156
7.3.1 手動生成字體子集 156
7.3.2 使用unicode-range 屬性傳輸字體子集 160
7.4 優化字體加載 166
7.4.1 理解字體加載的問題 166
7.4.2 使用CSS font-display屬性 168
7.4.3 使用字體加載API 169
7.4.4 使用Font Face Observer作為回退 173
7.5 小結 175
第8 章 保持JavaScript 的簡潔與快速 176
8.1 影響腳本加載行為 176
8.1.1 合理放置script元素 177
8.1.2 使用異步腳本加載 178
8.1.3 使用async 178
8.1.4 在多腳本加載中可靠地使用async 180
8.2 使用更簡潔的兼容jQuery 的替代方案 182
8.2.1 比較替代方案 182
8.2.2 探索競品 182
8.2.3 比較大小 182
8.2.4 比較性能 183
8.2.5 實現替代方案 185
8.2.6 使用Zepto 185
8.2.7 理解使用Shoestring 或Sprint的注意事項 185
8.3 脫離jQuery 編碼 186
8.3.1 檢查DOM 是否準備就緒 186
8.3.2 選擇元素并綁定事件 187
8.3.3 使用classList 操作元素上的類 188
8.3.4 讀取和修改元素屬性與內容 189
8.3.5 使用Fetch API 發起AJAX請求 192
8.3.6 使用Fetch API 192
8.3.7 Fetch API 的polyfill 193
8.4 使用requestAnimationFrame設置動畫 194
8.4.1 requestAnimationFrame一覽 194
8.4.2 計時器函數驅動的動畫和requestAnimationFrame 194
8.4.3 比較性能 195
8.4.4 實現requestAnimationFrame 196
8.4.5 了解Velocity.js 198
8.5 小結 199
第9 章 使用Service Worker 提升性能 200
9.1 何為Service Worker 200
9.2 編寫第 一個Service Worker 202
9.2.1 安裝Service Worker 203
9.2.2 注冊Service Worker 203
9.2.3 攔截并緩存網絡請求 207
9.2.4 衡量性能收益 209
9.2.5 優化網絡請求的攔截行為 209
9.3 更新Service Worker 212
9.3.1 文件版本控制 212
9.3.2 清理舊緩存 214
9.4 小結 215
第 10 章 微調資源傳輸 217
10.1 壓縮資源 217
10.1.1 遵循壓縮指導原則 218
10.1.2 使用Brotli 壓縮 221
10.2 緩存資源 225
10.2.1 理解緩存 225
10.2.2 制定最佳緩存策略 230
10.2.3 使緩存資源失效 233
10.3 使用CDN 資源 234
10.3.1 使用CDN 托管資源 234
10.3.2 CDN 發生故障怎么辦 236
10.3.3 使用子資源完整性驗證CDN 資源 237
10.4 使用資源提示 239
10.4.1 使用preconnect 資源提示 239
10.4.2 使用prefetch 和preload資源提示 241
10.5 小結 243
第 11 章 HTTP/2 未來展望 245
11.1 理解HTTP/2 的必要性 245
11.1.1 理解HTTP/1 中的問題 246
11.1.2 通過HTTP/2 解決常見的HTTP/1 問題 248
11.1.3 在Node 中編寫一個簡單的HTTP/2 服務器 251
11.1.4 觀察收益 253
11.2 探索HTTP/2 對應的優化技術變化 255
11.2.1 資源粒度與緩存效率 255
11.2.2 識別HTTP/2 的性能反模式 256
11.3 使用服務器推送搶先發送資源 257
11.3.1 理解服務器推送及其工作原理 258
11.3.2 使用服務器推送 258
11.3.3 測量服務器推送性能 261
11.4 同時優化HTTP/1 和HTTP/2 262
11.4.1 HTTP/2 服務器如何處理不支持HTTP/2 的瀏覽器 262
11.4.2 劃分用戶 263
11.4.3 根據瀏覽器功能提供資源 264
11.5 小結 269
第 12 章 使用gulp 自動化優化任務 270
12.1 關于gulp 270
12.1.1 為什么要使用構建系統 271
12.1.2 gulp 的工作原理 272
12.2 奠定基礎 273
12.2.1 組織項目文件夾 273
12.2.2 安裝gulp 及其插件 274
12.3 編寫gulp 任務 277
12.3.1 剖析gulp 任務 277
12.3.2 編寫核心任務 279
12.3.3 編寫實用程序任務 285
12.4 深入理解gulp 插件 288
12.5 小結 289
附錄A 工具參考 290
附錄B 常用jQuery 功能的原生等價實現 295
序: