理解WebKit和Chromium: 前言

转载请注明原文地址:http://blog.csdn.net/milado_nju

这几年来,我阅读了很多WebKit和Chromium的代码,也给它们提交过一些的代码补丁包(patch),一个感觉是代码量真的很大,常常看了这块忘了那块;另一个感觉是文档真的很少,特别是WebKit(chromium有不少设计文档,但是还不够详细,不够系统)。这让我觉得非常痛苦,常常摸不着头绪。鉴于自己的经历,觉得很有必要把阅读代码后的理解和总结记录下来,一来帮助自己回忆,二来可以分享给其他人,三来方便大家一起交流。

这将会是一个系列,该系列的介绍方式会以一个个专题的形式来给出,例如WebKit的DOM树,Render树,Chromium多进程模型,消息处理,IPC等等,每个专题大概分成以下几个部分来描述:1) 了解背景知识,基本的结构和流程; 2)  各个模块的架构和设计,以及它们是如何工作的; 3)  帮助阅读和理解chromium的代码

根据这些专题所涉及的内容,大概把它们分为三个部分,第一个部分是基础话题,第二部分是高级话题,第三部分是开放话题,下面是这个系列的具体内容目录,未来可能会根据需要做一些修改:

1. 基础篇

  1. WebKit, WebKit2, Chromium和Chrome介绍
  2. WebKit和Blink
  3. 浏览器概述
  4. WebKit和Chromium代码目录结构介绍
  5. WebKit和Chromium组成部分
  6. Chromium用户界面介绍
  7. Chromium多进程模型
  8. Chromium多线程模型
  9. Chromium消息循环
  10. Chromium多进程通信机制
  11. 页面渲染的基本过程
  12. Chromium网络栈
  13. WebKit资源加载机制
  14. Chromium的多进程资源加载机制
  15. Chromium资源磁盘缓存
  16. HTML解析和DOM
  17. CSS基础
  18. WebKit渲染基础
  19. WebKit移植(port)
  20. Chromium插件和扩展基础
  21. Web Inspector
  22. 主循环和requestAnimationFrame
  23. 触控(Touch Events)
  24. HTML5多媒体支持

2. 高级篇

  1. Chromium软件渲染(software rendering)
  2. Chromium的GPU硬件加速
  3. Chromium硬件加速合成(gpu accelerated compositing)
  4. 硬件加速之RenderLayer树到合成树
  5. Canvas2D
  6. WebGL
  7. WebKit的CSS实现
  8. WebKit布局(layout)
  9. Chromium Compositor(CC)
  10. JavaScript引擎介绍
  11. V8引擎
  12. JavaScriptCore引擎
  13. V8扩展机制
  14. 插件模型(NPAPI Plugin)
  15. Chrome扩展机制(extension)
  16. PepperAPI和NativeClient
  17. Skia
  18. Chromium绘图模型
  19. Views
  20. Aura
  21. WebWorker
  22. 视频
  23. 音频
  24. WebSocket
  25. Content API和CEF3
  26. SPDY
  27. WebRTC
  28. Chromium移动版(Chromium for Mobile)
  29. Chromium For Android
  30. 基于Chromium内核的Android WebView
  31. Android4.4上的Chromium WebView
  32. Chromium WebView和Chrome浏览器渲染机制
  33. ChromiumOS
  34. Chromium开发者工具
  35. Chromium Tracing机制
  36. 安全模型基础
  37. 沙箱模型(sandbox)
  38. 移动化

3. 开放篇

  1. SysApps
  2. 多点触控
  3. Web应用和Web运行环境
  4. PhoneGap
  5. Web应用

By yongsheng@chromium.org

原文地址:https://www.cnblogs.com/xiaowangba/p/6313880.html