1 Webkit架构
Webkit和Blink代码量都是几百万行级别,阅读难度很大,故先了解下它的大体架构是十分有意义的。下面是《Webkit技术内幕》一书中给出的架构图
由图中可见,大体分为以下几个层次
1. 操作系统:WebKit可以在不同OS上运行,如mac OS,Windows,Linux等。
2. 三方库:WebKit依赖了很多三方库,如音频,视频等
3. WebKit:大概分为两个部分
1)WebCore:与平台无关,各个浏览器移植所共享。包含HTML解析,CSS解析,渲染,调试等部分
2)JavaScript引擎:WebKit中默认使用JavaScriptCore引擎,Blink中使用V8引擎,二者的区别后面文章会详细介绍
2)WebKit ports:平台相关,需要浏览器根据硬件平台做更改。包含网络栈,音视频,GPU等部分
4. WebKit接口层:提供接口给浏览器应