注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)行業(yè)軟件及應(yīng)用WebKit技術(shù)內(nèi)幕

WebKit技術(shù)內(nèi)幕

WebKit技術(shù)內(nèi)幕

定 價:¥79.00

作 者: 朱永盛 著
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 程序設(shè)計 計算機/網(wǎng)絡(luò)

ISBN: 9787121229640 出版時間: 2014-06-01 包裝: 平裝
開本: 其他 頁數(shù): 456 字數(shù):  

內(nèi)容簡介

  本書從炙手可熱的HTML5的基礎(chǔ)知識入手,重點闡述目前應(yīng)用最廣的渲染引擎項目――WebKit。不僅著眼于系統(tǒng)描述WebKit內(nèi)部渲染HTML網(wǎng)頁的原理,并基于Chromium的實現(xiàn),闡明渲染引擎如何高效地利用硬件和最新技術(shù),而且試圖通過對原理的剖析,向讀者傳授實現(xiàn)高性能Web前端開發(fā)所需的寶貴經(jīng)驗。全書首先從總體上描述Webkit架構(gòu)和組成,而后涵蓋Web前端和所有與之相關(guān)的技術(shù),包括網(wǎng)絡(luò)、資源加載、HTML和CSS解析、渲染樹、布局、硬件加速、JavaScript引擎、多媒體、移動支持、插件機制、安全機制、調(diào)試和最新的Web平臺等。對于每一項技術(shù),在介紹基本含義之上,詳細分析Webkit內(nèi)部的工作原理,進而從實踐角度道出由此帶來的Web前端開發(fā)啟示。

作者簡介

  2010.4 ? 現(xiàn)在,一直專注于WebKit和Chromium技術(shù),參與開發(fā)過MeeGo瀏覽器并對該兩個開源項目做個貢獻,是Chromium項目的committer2006.7 ? 2009.3,專注于XML和XSLT技術(shù),主要是開發(fā)高性能的XSLT編譯器

圖書目錄

目  錄
第1章 瀏覽器和瀏覽器內(nèi)核 1
1.1 瀏覽器 1
1.1.1 瀏覽器簡介 1
1.1.2 瀏覽器特性 4
1.1.3 HTML 5
1.1.4 用戶代理和瀏覽器行為 8
1.1.5 實踐:瀏覽器用戶代理 9
1.2 瀏覽器內(nèi)核及特性 11
1.2.1 內(nèi)核和主流內(nèi)核 11
1.2.2 內(nèi)核特征 12
1.3 WebKit內(nèi)核 15
1.3.1 WebKit介紹 15
1.3.2 WebKit和WebKit2 16
1.3.3 Chromium內(nèi)核:Blink 18
1.4 本書結(jié)構(gòu) 18
第2章 HTML網(wǎng)頁和結(jié)構(gòu) 21
2.1 網(wǎng)頁構(gòu)成 21
2.1.1 基本元素和樹狀結(jié)構(gòu) 21
2.1.2 HTML5新特性 23
2.2 網(wǎng)頁結(jié)構(gòu) 25
2.2.1 框結(jié)構(gòu) 25
2.2.2 層次結(jié)構(gòu) 27
2.2.3 實踐:理解網(wǎng)頁結(jié)構(gòu) 29
2.3 WebKit的網(wǎng)頁渲染過程 31
2.3.1 加載和渲染 31
2.3.2 WebKit的渲染過程 32
2.3.3 實踐:從網(wǎng)頁到可視化結(jié)果 35
第3章 WebKit架構(gòu)和模塊 39
3.1 WebKit架構(gòu)及模塊 39
3.1.1 獲取WebKit 39
3.1.2 WebKit架構(gòu) 40
3.1.3 WebKit源代碼結(jié)構(gòu) 43
3.2 基于Blink的Chromium瀏覽器結(jié)構(gòu) 45
3.2.1 Chromium瀏覽器的架構(gòu)及模塊 45
3.2.2 實踐:從Chromium代碼結(jié)構(gòu)和運行狀態(tài)理解現(xiàn)代瀏覽器 56
3.3 WebKit2 61
3.3.1 WebKit2架構(gòu)及模塊 61
3.3.2 WebKit和WebKit2嵌入式接口 62
3.3.3 比較WebKit2和Chromium的多進程模型以及接口 63
第4章 資源加載和網(wǎng)絡(luò)棧 65
4.1 WebKit資源加載機制 65
4.1.1 資源 65
4.1.2 資源緩存 67
4.1.3 資源加載器 68
4.1.4 過程 69
4.1.5 資源的生命周期 70
4.1.6 實踐:資源的緩存 71
4.2 Chromium多進程資源加載 74
4.2.1 多進程 74
4.2.2 工作方式和資源共享 76
4.3 網(wǎng)絡(luò)棧 78
4.3.1 WebKit的網(wǎng)絡(luò)設(shè)施 78
4.3.2 Chromium網(wǎng)絡(luò)棧 78
4.3.3 磁盤本地緩存 84
4.3.4 Cookie機制 88
4.3.5 安全機制 90
4.3.6 高性能網(wǎng)絡(luò)棧 90
4.3.7 實踐:Chromium網(wǎng)絡(luò)工具和信息 97
4.4 實踐:高效的資源使用策略 99
4.4.1 DNS和TCP連接 99
4.4.2 資源的數(shù)量 99
4.4.3 資源的數(shù)據(jù)量 100
第5章 HTML解釋器和DOM模型 101
5.1 DOM模型 101
5.1.1 DOM標(biāo)準 101
5.1.2 DOM樹 104
5.2 HTML解釋器 107
5.2.1 解釋過程 107
5.2.2 詞法分析 110
5.2.3 XSSAuditor驗證詞語 111
5.2.4 詞語到節(jié)點 111
5.2.5 節(jié)點到DOM樹 113
5.2.6 網(wǎng)頁基礎(chǔ)設(shè)施 114
5.2.7 線程化的解釋器 117
5.2.8 JavaScript的執(zhí)行 119
5.2.9 實踐:理解DOM樹 120
5.3 DOM的事件機制 121
5.3.1 事件的工作過程 122
5.3.2 WebKit的事件處理機制 123
5.3.3 實踐:事件的傳遞機制 125
5.4 影子(Shadow)DOM 127
5.4.1 什么是影子DOM 127
5.4.2 WebKit的支持 128
5.4.3 實踐:使用影子DOM 129
第6章 CSS解釋器和樣式布局 131
6.1 CSS基本功能 131
6.1.1 簡介 131
6.1.2 樣式規(guī)則 134
6.1.3 選擇器 135
6.1.4 框模型 136
6.1.5 包含塊(Containing Block)模型 139
6.1.6 CSS樣式屬性 139
6.1.7 CSSOM(CSS Object Model) 140
6.1.8 實踐:理解CSSOM和選擇器 141
6.2 CSS解釋器和規(guī)則匹配 143
6.2.1 樣式的WebKit表示類 143
6.2.2 解釋過程 146
6.2.3 樣式規(guī)則匹配 148
6.2.4 實踐:樣式匹配 149
6.2.5 JavaScript設(shè)置樣式 151
6.3 WebKit布局 152
6.3.1 基礎(chǔ) 152
6.3.2 布局計算 153
6.3.3 布局測試 155
第7章 渲染基礎(chǔ) 157
7.1 RenderObject樹 157
7.1.1 RenderObject基礎(chǔ)類 157
7.1.2 RenderObject樹 162
7.2 網(wǎng)頁層次和RenderLayer樹 163
7.2.1 層次和RenderLayer對象 163
7.2.2 構(gòu)建RenderLayer樹 165
7.3 渲染方式 167
7.3.1 繪圖上下文(GraphicsContext) 167
7.3.2 渲染方式 169
7.4 WebKit軟件渲染技術(shù) 172
7.4.1 軟件渲染過程 172
7.4.2 Chromium的多進程軟件渲染技術(shù) 177
7.4.3 實踐:軟件渲染過程 180
第8章 硬件加速機制 183
8.1 硬件加速基礎(chǔ) 183
8.1.1 概念 183
8.1.2 WebKit硬件加速設(shè)施 185
8.1.3 硬件渲染過程 189
8.1.4 3D圖形上下文 193
8.2 Chromium的硬件加速機制 194
8.2.1 GraphicsLayer的支持 194
8.2.2 框架 196
8.2.3 命令緩沖區(qū) 200
8.2.4 Chromium合成器(Chromium Compositor) 202
8.2.5 實踐:減少重繪 213
8.3 其他硬件加速模塊 216
8.3.1 2D圖形的硬件加速機制 216
8.3.2 WebGL 223
8.3.3 CSS 3D變形 228
8.3.4 其他 229
8.3.5 實踐:Chromium的支持 230
第9章 JavaScript引擎 231
9.1 概述 231
9.1.1 JavaScript語言 231
9.1.2 JavaScript引擎 238
9.1.3 JavaScript引擎和渲染引擎 241
9.2 V8引擎 242
9.2.1 基礎(chǔ) 242
9.2.2 工作原理 246
9.2.3 綁定和擴展 258
9.3 JavaScriptCore引擎 259
9.3.1 原理 259
9.3.2 架構(gòu)和模塊 259
9.3.4 內(nèi)存管理 265
9.3.5 綁定 266
9.3.6 比較JavaScriptCore和V8 266
9.4 實踐――高效的JavaScript代碼 266
9.4.1 編程方式 266
9.4.2 例子 268
9.4.3 未來 271
第10章 插件和JavaScript擴展 273
10.1 NPAPI插件 274
10.1.1 NPAPI簡介 274
10.1.2 WebKit和Chromium的實現(xiàn) 275
10.2 Chromium PPAPI插件 284
10.2.1 原理 284
10.2.2 結(jié)構(gòu)和接口 285
10.2.3 工作過程 288
10.2.4 Native Client 294
10.3 JavaScript引擎的擴展機制 297
10.3.1 混合編程 297
10.3.2 JavaScript擴展機制 299
10.4 Chromium擴展機制 303
10.4.1 原理 303
10.4.2 基本設(shè)施 306
10.4.3 消息傳遞機制 309
第11章 多媒體 311
11.1 HTML5的多媒體支持 311
11.2 視頻 313
11.2.1 HTML5視頻 313
11.2.2 WebKit基礎(chǔ)設(shè)施 315
11.2.3 Chromium視頻機制 317
11.2.4 字幕 328
11.2.5 視頻擴展 330
11.3 音頻 331
11.3.1 音頻元素 331
11.3.2 Web Audio 334
11.3.3 MIDI和Web MIDI 336
11.3.4 Web Speech 337
11.4 WebRTC 339
11.4.1 歷史 339
11.4.2 原理和規(guī)范 341
11.4.3 實踐――一個WebRTC例子 342
11.4.4 WebKit和Chromium的實現(xiàn) 345
第12章 安全機制 353
12.1 網(wǎng)頁安全模型 353
12.1.1 安全模型基礎(chǔ) 353
12.1.2 WebKit的實現(xiàn) 363
12.2 沙箱模型 366
12.2.1 原理 366
12.2.2 實現(xiàn)機制 367
第13章 移動WebKit 373
13.1 觸控和手勢事件 373
13.1.1 HTML5規(guī)范 373
13.1.2 工作原理 377
13.1.3 啟示和實踐 381
13.2 移動化用戶界面 382
13.3 其他機制 384
13.3.1 新渲染機制 384
13.3.2 其他機制 387
第14章 調(diào)試機制 389
14.1 Web Inspector 389
14.1.1 基本原理 389
14.1.2 協(xié)議 391
14.1.3 WebKit內(nèi)部機制 395
14.1.4 Chromium開發(fā)者工具 398
14.1.5 遠程調(diào)試 400
14.1.6 Chromium Tracing機制 402
14.2 實踐――基礎(chǔ)和性能調(diào)試 404
14.2.1 基礎(chǔ)調(diào)試 404
14.2.2 性能調(diào)試 408
第15章 Web前端的未來 411
15.1 趨勢 411
15.2 嵌入式應(yīng)用模式 414
15.2.1 嵌入式模式 414
15.2.2 CEF 414
15.2.3 Android WebView 417
15.3 Web應(yīng)用和Web運行環(huán)境 419
15.3.1 Web應(yīng)用 419
15.3.2 Web運行環(huán)境 421
15.4 Cordova項目 423
15.5 Crosswalk項目 425
15.6 Chromium OS和Chrome的Web應(yīng)用 429
15.6.1 基本原理 429
15.6.2 其他Web操作系統(tǒng) 431
參考資料 435

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號