WebKit架构

341 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情

image.png

  操作系统:这个比较好理解,WebKit可以运行在不同的操作系统上,例如QTWebkit可以运行在Windows或Linux系统,同一个浏览器使用的Webkit也可以依赖不同的操作系统,例如Chromium浏览器支持Windows、Linux、Android等系统;

  第三方库:位于操作系统之上,这些库是WebKit运行的基础,包括图形库、网络库、音视频库等等;

  WebCore:该模块是WebKit加载和渲染网页的基础,是不同浏览器所使用的WebKit中共享的部分,包括HTML解析器、CSS解析器、SVG、布局、渲染树等等;

  JavaScript引擎:JavaScript解析器,WebKit默认的引擎是JavaScriptCore,Google的Blink替换为自家开发的V8引擎;

  WebKit Ports:WebKit中的移植部分,包括网络栈、音视频解码、硬件加速等模块,这部分对WebKit的功能和性能影响比较大。

  WebKit嵌入式接口:WebKit对外暴露的接口层,这个接口是提供给浏览器调用的,例如给chromium调用,因为接口与具体的移植也有关系,所以中间会有一个WebKit绑定层;