Webkit的各个模块: http://blog.csdn.net/lizzy115/article/details/9345307
Webkit模块介绍: http://blog.csdn.net/hgl868/article/details/7617119
一, 浏览器内核
1, 内核: 将页面转变成可视化的图像结果, 通常他被称为渲染引擎。
渲染; 就是根据描述或者定义构建数学模型, 通过模型生成图像的过程。
HTML/CSS/JavaScript ==》》 浏览器渲染引擎 ==》》图像
2, 主流的渲染引擎:
Trident (IE), Gecko (firefox), WebKit (Chrome, safari, ChromeOS, WebOS, Andorid 浏览器), Blink (2013年从Webkit复制出去的)!
Wikipedia上面统计, 有超过30 种浏览器 和web平台 是基于 webkit渲染引擎开发的, 包括ChromeOS 和 WebOS, 他们利用HTML5强大的能力, 具有前瞻性地尝试开发了支持HTML5的web操作系统。
二, 内核特征
|------------------------------------------------------------------------------------------------------|
| 渲染引擎 |
| ------------------------------------------------------------------------------------------------—----|
| HTML 解释器 | CSS解释器 | 布局layout | JavaScript引擎 |
|--------------------------------------------------------------------------------------------------------------------|
| 网络 | 存储 | 2D/3D图形 | 音频和视频 | 图片解码器 |
|--------------------------------------------------------------------------------------------------------------------------|
| 操作系统支持 (如 多线程, 网络, 图形, 文件 等 ) |
|--------------------------------------------------------------------------------------------------------------------------|
1, HTML 解释器 :
解释HTML文本的解释器, 注意作用是将HTML文本解释称 DOM (文档对象模型) 树, DOM是一种文档表示方法;
2, CSS解释器 :
级联样式表解释器: 他的作用是为DOM中的各个元素 对象 计算出 样式信息, 从而为 计算最后网页的布局 提供基础设施;
3, 布局layout
在DOM 创建之后, Webkit 需要将其中的元素对象 同样式信息 结合起来, 就算他们的大小位置等布局信息, 形成一个能够表示这所有信息的内容表示模型。
4, JavaScript引擎
使用JavaScript代码孔修改网页的内容, 也能够修改CSS的信息, JavaScript引擎能 解释javaScript代码, 并通过DOM接口 和 CSS接口 来修改网页内容和 样是信息, 从而改变渲染的结果。
5, 绘图:
使用图形库 将布局计算后的各个网页的节点绘制成图像结果。
三, webkit 内核:
KHTML(KDE社区发起的网页渲染引擎)开源项目 ----->>>> 2001年 苹果公司 fork出源代码, 成立了webkit 项目; ---->>>>> 2005年 webkit开源出来;
webkit2 进程结构
四, webkit 移植
操作系统不同, 依赖的模块不同, 比如2D 图形库: CG, skia, cairo, QT 等 从而能port到不同的系统上去!!