理解WebKit和Chromium: 前言

这几年来,我阅读了大量的WebKit和Chromium代码并参与开发了相关的浏览器,一个感觉是代码量真的很大,常常看了这块忘了那块;另一个感觉是文档真的很少,特别是WebKit(chromium有不少设计文档,但是还不够)。这让我觉得非常痛苦,常常摸不着头绪。鉴于自己的经历,觉得很有必要把阅读代码后的理解和总结记录下来,一来帮助自己回忆,二来可以分享给其他人。

这将会是一个系列,该系列的介绍方式会以一个个专题的形式来给出,例如WebKit的DOM树,Render树,Chromium多进程模型,消息处理,IPC等等,每个专题大概分成以下几个部分来描述:

1) 了解背景知识,基本的结构和流程; 2)  各个模块的架构和设计,以及它们是如何工作的; 3)  帮助阅读和理解chromium的代码

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

1. 基础话题

1) WebKit, WebKit2, Chromium和Chrome介绍

2) WebKit和Chromium代码目录结构介绍

3) WebKit和Chromium功能模块

4) Chromium用户界面介绍

5) Chromium多进程模型

6) Chromium多线程模型

7) Chromium消息处理机制

8) IPC

9) 线程同步

10) 网络栈

11) 资源加载

12) 资源磁盘缓存

13) HTML解析和DOM树

14) CSS初探

15)  WebKit渲染基础

16) WebKit布局(layout)

17) WebKit移植(port)

18) Chromium插件和扩展基础(plugin&extension)

19) Web Inspector

2. 高级话题

1) Chromium软件渲染(software rendering)

2) Chromium的GPU硬件加速 

3) Chromium硬件加速合成(gpu accelerated compositing)

4) Canvas2D

5) WebGL

6) JavaScript引擎

7) 插件模型(NPAPI Plugin)

8) 扩展机制(extension)

9) 沙箱模型(sandbox)

10) Skia简介

11) Chromium的绘图模型

12) Views

13) Aura

14) NativeClient和PepperAPI

15) WebWorker

16) Video的支持

17) WebSocket

18) CSS3

19) SPDY

3. 开放话题

1) DAP

2) 多点触控

3) Web运行环境

4) ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值