WebKit可以在不同的操作系统上工作。不同浏览器可能会依赖不同的操作系统,同一个浏览器使用的WebKit也可能依赖不同的操作系统。在操作系统层之上就是WebKit赖以工作的众多第三方库。通常讲,它们包括图形库、网络库、视频库等。在它们之上就是WebKit项目,细分为两层。WebKit部分包含了目前被各个浏览器所使用的WebKit共享部分,具体包括HTML解释器、CSS解释器、SVG、DOM、渲染树(RenderObject树、RenderLayer树等),以及Inspector(Web Inspector、调试网页)。当然,这些共享部分有些是基础框架,其背后的支持也需要各个平台的不同实现。JavaScriptCore引擎是WebKit中的默认JavaScript引擎,也就是说一些WebKit的移植使用该引擎。之所以说它是默认的,是因为它不是唯一并且是可替换的。在Google的Chromium开源项目中替换为V8引擎。WebKit Ports指的是WebKit中非共享部分,对于不同浏览器使用的WebKit来说,移植中的这些模块由于平台差异、依赖的第三方库和需求不同等方面原因,往往按照自己的方式来设计和实现。这其中包括硬件加速架构、网络栈、视频解码、图片解码等。在WebCore和WebKit Ports之上的层主要提供嵌入式编程接口,这些嵌入式接口是提供给浏览器调用的。狭义WebKit和WebKit2的接口与具体移植有关,所以有一个与浏览器相关的绑定层。绑定层上面就是WebKit项目对外暴露的接口层。
相比于狭义WebKit,WebKit2是一套全新的结构和接口,而不是一个简单的升级版。它的主要目的和思想同Chromium类似,就是将渲染过程放在单独的进程中完成,独立于用户界面。WebKit2也引入了插件进程,而且它还引入了网络进程。Web进程对应于Chromium中的Browaer进程。接口就暴露在该进程中,应用程序只需调用该接口即可。
WebKit2的多线程模型参考了Chromium模型和框架。首先,Chromium使用的仍然是WebKit接口,而不是WebKit2接口,也就是说Chromium是在WebKit接口之上构建的多线程架构。其次,WebKit2的接口希望尽量将多进程结构隐藏起来,这样可以让应用程序不必纠缠于内部细节。但是,对于Chromium来说它的主要目的是给Chromium提供Content接口以便构建浏览器,其本身目标不是提供嵌入式接口,虽然有CEF项目基于它构建了嵌入式接口。最后,Chromium中每个进程都是从相同的二进制可执行文件启动,而基于WebKit2的进程则未必如此。

读书笔记——WebKit技术内幕 WebKit架构和模块相关推荐

  1. WebKit技术内幕

    WebKit技术内幕(浏览器内核|渲染引擎| HTML5| Chromium项目Committer重磅作品) 朱永盛 著   ISBN 978-7-121-22964-0 2014年6月出版 定价:7 ...

  2. 关于高性能mysql的读书报告_《高性能MySQL》读书笔记:第一章[MySQL架构与历史]...

    <高性能MySQL>读书笔记:第一章[MySQL架构与历史] MySQL逻辑架构 MySQL最优秀的一点就是它的存储架构,将查询处理,系统任务,数据存储/提取相分离 并发控制 通过读写锁实 ...

  3. WebKit技术内幕(笔记)

    2019独角兽企业重金招聘Python工程师标准>>> 一:浏览器 1.渲染引擎:     html解释器:主要作用是将HTML文本解释成DOM树     css解释器 :为DOM中 ...

  4. 《大型网站技术架构》读书笔记一:大型网站架构演化

    来源:http://www.cnblogs.com/edisonchou/p/3773891.html 此篇已收录至<大型网站技术架构>读书笔记系列目录贴,点击访问该目录可获取更多内容. ...

  5. [读书笔记]大型分布式网站架构设计与实践.分布式缓存

    前言:本书是对分布式系统架构涉及到的相关技术的一本科普书籍.由于很难作为开发参考,只能但求了解.所以通篇浅读,对分布式系统进行大致的了解.因为写的非常好,感觉非常有意思,自己也做不出总结.所谓的读书笔 ...

  6. 读书笔记:技术的本质-技术是什么,它是怎样进化的 (布莱恩•阿瑟)

    读书笔记算不算原创? - page 30 然而.作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其它什么东西融合得更为紧密,那就是自然. 在最深的层次上.人的存在应该和自然,和我们最初的环境 ...

  7. 读书笔记:技术的本质-技术是什么,它是如何进化的 (布莱恩•阿瑟)

    读书笔记算不算原创? - page 30 然而,作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其他什么东西融合得更为紧密,那就是自然.在最深的层次上,人的存在应该和自然,和我们最初的环境, ...

  8. 专栏《乔新亮的CTO成长复盘》读书笔记(技术架构篇)

    架构决策能力不但非常关键,而且是技术管理者最重要的能力和职责之一,而且职级越高就越重要. 很多所谓的"技术债",也就是由一次次的决策失误不断累加而成的. 管理者要能充分利用自己的技 ...

  9. 《大型网站技术架构》-读书笔记四:高可用架构

    一.网站可用性的度量与考核 1.可用性度量:通常用多少个9来形容网站的可用性 2.可用性考核:可用性指标是网站架构设计的重要指标,对外是服务承诺,对内是考核指标.  二.高可用的网站架构 三.高可用的 ...

  10. 《大型网站技术架构》读书笔记二:大型网站架构模式

    来源:http://www.cnblogs.com/edisonchou/p/3790225.html 一.分层 最常见的架构模式,将系统在横向维度上切分成几个部分,每个部分单一职责.网站一般分为三个 ...

最新文章

  1. .gitignore无效解决方案以及git rm和rm的区别
  2. shell 连续空格输出
  3. jstl java_JSTL-Java-Baby-51CTO博客
  4. 武汉大学提出软模板SoftProto框架,大幅增强方面词抽取任务
  5. Java基础知识强化之集合框架笔记56:Map集合之HashMap集合(HashMapString,Student)的案例...
  6. 亿级流量场景下的平滑扩容:TDSQL的水平扩容方案实践
  7. QQList列表功能实现
  8. 说说微信聊天记录收费这件事
  9. SpringBoot集成Jsoup爬虫——三级列表
  10. 《数据库系统》期末复习知识点总结(全)
  11. 新华象形大字典隐私用户数据声明
  12. 综合布线(楼栋)设计报告
  13. 图像处理:灰度变换与图像增强
  14. 迅雷后门 迅雷签名可疑文件 请大家关注 内部邮件大爆料 过全部杀毒软件
  15. Markdown学习记录 [ javaSE 基础Ⅰ] Day01
  16. python爬虫系列(一):爬虫简介
  17. 常见的导数公式及证明
  18. 为你的SQLite开发选择一款比较好的工具
  19. VS2005下MFC开发的ActiveX控件的部分总结 inf 篇
  20. 数据库大作业代码展示2

热门文章

  1. Android好用的桌面小工具,Android桌面小工具Widget功能实现
  2. HPE Microserver GEN10升级BIOS
  3. 用border-color 的 transparent 制作一个三角形
  4. android ndk 怎样调用第三方的so库文件。
  5. GCC Manual
  6. 把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩
  7. 第13届蓝桥杯赛后感想
  8. 遇到oracle错误20001,请问ORA-20001错误该如何解决,倒入倒出碰到的。。。
  9. P4234(最小差值生成树 lct维护生成树)
  10. word页眉页脚,奇偶不同