WebKit技术内幕

暂无评价
7.171 评价豆瓣读书
阅读
¥16.50¥9.90
电子工业科技生活全场6折丨10月特价 了解详情
  • 导言
  • 目录
  • 作品信息

《WebKit技术内幕》从炙手可热的HTML5的基础知识入手,重点阐述目前应用最广的渲染引擎项目——WebKit。不仅着眼于系统描述WebKit内部渲染HTML网页的原理,并基于Chromium的实现,阐明渲染引擎如何高效地利用硬件和最新技术,而且试图通过对原理的剖析,向读者传授实现高性能Web前端开发所需的宝贵经验。

《WebKit技术内幕》首先从总体上描述WebKit架构和组成,而后涵盖Web前端和所有与之相关的重要技术,包括网络、资源加载、HTML和CSS解析、渲染树、布局、硬件加速、JavaScript引擎、多媒体、移动支持、插件机制、安全机制、调试和最新的Web平台等。对于每一项技术,在介绍基本含义之上,详细分析WebKit内部的工作原理,进而从实践角度道出由此带来的Web前端开发启示。

朱永盛,Chromium项目Committer,2006年从南京大学毕业后就职于英特尔亚太研发有限公司,专注于HTML5、WebKit和Chromium等方面技术,参与过多个浏览器和Web运行环境项目,并向业界大会和技术爱好者做过多次技术分享。2013年开始初创Android系统上的Web运行环境的开源项目——Crosswalk。个人博客:blog.csdn.net/milado_nju

  1. 前言
  2. 第1章 浏览器和浏览器内核
  3. 1.1 浏览器
  4. 1.1.1 浏览器简介
  5. 1.1.2 浏览器特性
  6. 1.1.3 HTML
  7. 1.1.4 用户代理和浏览器行为
  8. 1.1.5 实践:浏览器用户代理
  9. 1.2 浏览器内核及特性
  10. 1.2.1 内核和主流内核
  11. 1.2.2 内核特征
  12. 1.3 WebKit内核
  13. 1.3.1 WebKit介绍
  14. 1.3.2 WebKit和WebKit2
  15. 1.3.3 Chromium内核:Blink
  16. 1.4 本书结构
  17. 第2章 HTML网页和结构
  18. 2.1 网页构成
  19. 2.1.1 基本元素和树状结构
  20. 2.1.2 HTML5新特性
  21. 2.2 网页结构
  22. 2.2.1 框结构
  23. 2.2.2 层次结构
  24. 2.2.3 实践:理解网页结构
  25. 2.2.3.1 实践1:框结构
  26. 2.2.3.2 实践2:层次结构
  27. 2.3 WebKit的网页渲染过程
  28. 2.3.1 加载和渲染
  29. 2.3.2 WebKit的渲染过程
  30. 2.3.3 实践:从网页到可视化结果
  31. 第3章 WebKit架构和模块
  32. 3.1 WebKit架构及模块
  33. 3.1.1 获取WebKit
  34. 3.1.2 WebKit架构
  35. 3.1.3 WebKit源代码结构
  36. 3.2 基于Blink的Chromium浏览器结构
  37. 3.2.1 Chromium浏览器的架构及模块
  38. 3.2.1.1 架构和模块
  39. 3.2.1.2 多进程模型
  40. 3.2.1.3 Browser进程和Renderer进程
  41. 3.2.1.4 多线程模型
  42. 3.2.1.5 Content接口
  43. 3.2.2 实践:从Chromium代码结构和运行状态理解现代浏览器
  44. 3.2.2.1 Chromium代码结构
  45. 3.2.2.2 Chromium多进程
  46. 3.2.2.3 Chromium多线程
  47. 3.3 WebKit2
  48. 3.3.1 WebKit2架构及模块
  49. 3.3.2 WebKit和WebKit2嵌入式接口
  50. 3.3.3 比较WebKit2和Chromium的多进程模型以及接口
  51. 第4章 资源加载和网络栈
  52. 4.1 WebKit资源加载机制
  53. 4.1.1 资源
  54. 4.1.2 资源缓存
  55. 4.1.3 资源加载器
  56. 4.1.4 过程
  57. 4.1.5 资源的生命周期
  58. 4.1.6 实践:资源的缓存
  59. 4.2 Chromium多进程资源加载
  60. 4.2.1 多进程
  61. 4.2.2 工作方式和资源共享
  62. 4.3 网络栈
  63. 4.3.1 WebKit的网络设施
  64. 4.3.2 Chromium网络栈
  65. 4.3.2.1 网络栈基本组成
  66. 4.3.2.2 网络栈结构
  67. 4.3.2.3 代理
  68. 4.3.2.4 域名解析(DNS)
  69. 4.3.3 磁盘本地缓存
  70. 4.3.3.1 特性
  71. 4.3.3.2 结构
  72. 4.3.4 Cookie机制
  73. 4.3.5 安全机制
  74. 4.3.6 高性能网络栈
  75. 4.3.6.1 DNS预取和TCP预连接(Preconnect)
  76. 4.3.6.2 HTTP管线化(Pipelining)
  77. 4.3.6.3 SPDY
  78. 4.3.6.4 QUIC
  79. 4.3.7 实践:Chromium网络工具和信息
  80. 4.4 实践:高效的资源使用策略
  81. 4.4.1 DNS和TCP连接
  82. 4.4.2 资源的数量
  83. 4.4.3 资源的数据量
  84. 第5章 HTML解释器和DOM模型
  85. 5.1 DOM模型
  86. 5.1.1 DOM标准
  87. 5.1.2 DOM树
  88. 5.1.2.1 结构模型
  89. 5.1.2.2 DOM树
  90. 5.2 HTML解释器
  91. 5.2.1 解释过程
  92. 5.2.2 词法分析
  93. 5.2.3 XSSAuditor验证词语
  94. 5.2.4 词语到节点
  95. 5.2.5 节点到DOM树
  96. 5.2.6 网页基础设施
  97. 5.2.7 线程化的解释器
  98. 5.2.8 JavaScript的执行
  99. 5.2.9 实践:理解DOM树
  100. 5.3 DOM的事件机制
  101. 5.3.1 事件的工作过程
  102. 5.3.2 WebKit的事件处理机制
  103. 5.3.3 实践:事件的传递机制
  104. 5.4 影子(Shadow)DOM
  105. 5.4.1 什么是影子DOM
  106. 5.4.2 WebKit的支持
  107. 5.4.3 实践:使用影子DOM
  108. 第6章 CSS解释器和样式布局
  109. 6.1 CSS基本功能
  110. 6.1.1 简介
  111. 6.1.2 样式规则
  112. 6.1.3 选择器
  113. 6.1.4 框模型
  114. 6.1.5 包含块(Containing Block)模型
  115. 6.1.6 CSS样式属性
  116. 6.1.7 CSSOM(CSS Object Model)
  117. 6.1.8 实践:理解CSSOM和选择器
  118. 6.2 CSS解释器和规则匹配
  119. 6.2.1 样式的WebKit表示类
  120. 6.2.2 解释过程
  121. 6.2.3 样式规则匹配
  122. 6.2.4 实践:样式匹配
  123. 6.2.5 JavaScript设置样式
  124. 6.3 WebKit布局
  125. 6.3.1 基础
  126. 6.3.2 布局计算
  127. 6.3.3 布局测试
  128. 第7章 渲染基础
  129. 7.1 RenderObject树
  130. 7.1.1 RenderObject基础类
  131. 7.1.2 RenderObject树
  132. 7.2 网页层次和RenderLayer树
  133. 7.2.1 层次和RenderLayer对象
  134. 7.2.2 构建RenderLayer树
  135. 7.3 渲染方式
  136. 7.3.1 绘图上下文(GraphicsContext)
  137. 7.3.2 渲染方式
  138. 7.4 WebKit软件渲染技术
  139. 7.4.1 软件渲染过程
  140. 7.4.2 Chromium的多进程软件渲染技术
  141. 7.4.3 实践:软件渲染过程
  142. 第8章 硬件加速机制
  143. 8.1 硬件加速基础
  144. 8.1.1 概念
  145. 8.1.2 WebKit硬件加速设施
  146. 8.1.3 硬件渲染过程
  147. 8.1.4 3D图形上下文
  148. 8.2 Chromium的硬件加速机制
  149. 8.2.1 GraphicsLayer的支持
  150. 8.2.2 框架
  151. 8.2.3 命令缓冲区
  152. 8.2.4 Chromium合成器(Chromium Compositor)
  153. 8.2.4.1 架构
  154. 8.2.4.2 基础设施
  155. 8.2.4.3 合成过程
  156. 8.2.5 实践:减少重绘
  157. 8.3 其他硬件加速模块
  158. 8.3.1 2D图形的硬件加速机制
  159. 8.3.1.1 2D图形上下文
  160. 8.3.1.2 Canvas 2D
  161. 8.3.2 WebGL
  162. 8.3.2.1 3D图形上下文
  163. 8.3.2.2 WebGL的实现
  164. 8.3.3 CSS 3D变形
  165. 8.3.4 其他
  166. 8.3.5 实践:Chromium的支持
  167. 第9章 JavaScript引擎
  168. 9.1 概述
  169. 9.1.1 JavaScript语言
  170. 9.1.2 JavaScript引擎
  171. 9.1.3 JavaScript引擎和渲染引擎
  172. 9.2 V8引擎
  173. 9.2.1 基础
  174. 9.2.1.1 代码结构
  175. 9.2.1.2 应用程序编程接口(API)
  176. 9.2.1.3 接口使用示例
  177. 9.2.2 工作原理
  178. 9.2.2.1 数据表示
  179. 9.2.2.2 V8工作过程
  180. 9.2.2.3 优化回滚(Deoptimization)
  181. 9.2.2.4 隐藏类和内嵌缓存
  182. 9.2.2.5 内存管理
  183. 9.2.2.6 快照(Snapshot)
  184. 9.2.3 绑定和扩展
  185. 9.3 JavaScriptCore引擎
  186. 9.3.1 原理
  187. 9.3.2 架构和模块
  188. 9.3.2.1 代码结构
  189. 9.3.2.2 数据表示
  190. 9.3.2.3 模块
  191. 9.3.4 内存管理
  192. 9.3.5 绑定
  193. 9.3.6 比较JavaScriptCore和V8
  194. 9.4 实践——高效的JavaScript代码
  195. 9.4.1 编程方式
  196. 9.4.2 例子
  197. 9.4.3 未来
  198. 第10章 插件和JavaScript扩展
  199. 10.1 NPAPI插件
  200. 10.1.1 NPAPI简介
  201. 10.1.2 WebKit和Chromium的实现
  202. 10.1.2.1 WebKit基础设施
  203. 10.1.2.2 Chromium的插件架构
  204. 10.1.2.3 Chromium插件的工作过程
  205. 10.1.2.4 Window和Windowless插件
  206. 10.2 Chromium PPAPI插件
  207. 10.2.1 原理
  208. 10.2.2 结构和接口
  209. 10.2.2.1 代码结构
  210. 10.2.2.2 应用程序编程接口
  211. 10.2.3 工作过程
  212. 10.2.3.1 基础设施
  213. 10.2.3.2 工作过程
  214. 10.2.4 Native Client
  215. 10.2.4.1 基本原理
  216. 10.2.4.2 pNaCl
  217. 10.3 JavaScript引擎的扩展机制
  218. 10.3.1 混合编程
  219. 10.3.2 JavaScript扩展机制
  220. 10.3.2.1 JavaScript绑定
  221. 10.3.2.2 V8扩展
  222. 10.4 Chromium扩展机制
  223. 10.4.1 原理
  224. 10.4.2 基本设施
  225. 10.4.3 消息传递机制
  226. 第11章 多媒体
  227. 11.1 HTML5的多媒体支持
  228. 11.2 视频
  229. 11.2.1 HTML5视频
  230. 11.2.2 WebKit基础设施
  231. 11.2.3 Chromium视频机制
  232. 11.2.3.1 资源获取
  233. 11.2.3.2 基础设施
  234. 11.2.3.3 桌面系统
  235. 11.2.3.4 Android系统
  236. 11.2.4 字幕
  237. 11.2.5 视频扩展
  238. 11.3 音频
  239. 11.3.1 音频元素
  240. 11.3.1.1 HTML5Audio元素
  241. 11.3.1.2 基础设施
  242. 11.3.2 Web Audio
  243. 11.3.3 MIDI和Web MIDI
  244. 11.3.4 Web Speech
  245. 11.4 WebRTC
  246. 11.4.1 历史
  247. 11.4.2 原理和规范
  248. 11.4.3 实践——一个WebRTC例子
  249. 11.4.4 WebKit和Chromium的实现
  250. 第12章 安全机制
  251. 12.1 网页安全模型
  252. 12.1.1 安全模型基础
  253. 12.1.1.1 域
  254. 12.1.1.2 XSS
  255. 12.1.1.3 CSP
  256. 12.1.1.4 CORS
  257. 12.1.1.5 Cross Document Messaging
  258. 12.1.1.6 安全传输协议
  259. 12.1.2 WebKit的实现
  260. 12.2 沙箱模型
  261. 12.2.1 原理
  262. 12.2.2 实现机制
  263. 12.2.2.1 Linux
  264. 12.2.2.2 Windows
  265. 第13章 移动WebKit
  266. 13.1 触控和手势事件
  267. 13.1.1 HTML5规范
  268. 13.1.2 工作原理
  269. 13.1.3 启示和实践
  270. 13.2 移动化用户界面
  271. 13.3 其他机制
  272. 13.3.1 新渲染机制
  273. 13.3.2 其他机制
  274. 第14章 调试机制
  275. 14.1 Web Inspector
  276. 14.1.1 基本原理
  277. 14.1.2 协议
  278. 14.1.3 WebKit内部机制
  279. 14.1.4 Chromium开发者工具
  280. 14.1.5 远程调试
  281. 14.1.6 Chromium Tracing机制
  282. 14.2 实践——基础和性能调试
  283. 14.2.1 基础调试
  284. 14.2.2 性能调试
  285. 第15章 Web前端的未来
  286. 15.1 趋势
  287. 15.2 嵌入式应用模式
  288. 15.2.1 嵌入式模式
  289. 15.2.2 CEF
  290. 15.2.3 Android WebView
  291. 15.3 Web应用和Web运行环境
  292. 15.3.1 Web应用
  293. 15.3.2 Web运行环境
  294. 15.4 Cordova项目
  295. 15.5 Crosswalk项目
  296. 15.6 Chromium OS和Chrome的Web应用
  297. 15.6.1 基本原理
  298. 15.6.2 其他Web操作系统
  299. 参考资料

作者朱永盛

类别 图书 / 非虚构

出版社电子工业出版社

出版日期

ISBN9787121229640

提供方电子工业出版社

标签互联网(1313)技术(315)网络(510)计算机(1543)限时特价(19319)

喜欢这本书的人也喜欢

    还没有读者为它写评论

    来自豆瓣读书的评论1