理解WebKit和Chromium: WebKit和Chromium组成

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

 

浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)JS 引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。JS 引擎则是解析 Javascript 语言,执行 javascript 语言来实现网页的动态效果。

最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎

 

webkit 用的好好的,为何要投入到一个新的内核中去呢?

Blink 其实是 WebKit 的分支,如同 WebKit 是 KHTML 的分支。Google 的 Chromium 项目此前一直使用 WebKit(WebCore) 作为渲染引擎,但出于某种原因,并没有将其多进程架构移植入Webkit。

后来,由于苹果推出的 WebKit2 与 Chromium 的沙箱设计存在冲突,所以 Chromium 一直停留在 WebKit,并使用移植的方式来实现和主线 WebKit2 的对接。这增加了 Chromium 的复杂性,且在一定程度上影响了 Chromium 的架构移植工作。

基于以上原因,Google 决定从 WebKit 衍生出自己的 Blink 引擎(后由 Google 和 Opera Software 共同研发),将在 WebKit 代码的基础上研发更加快速和简约的渲染引擎,并逐步脱离 WebKit 的影响,创造一个完全独立的 Blink 引擎。这样以来,唯一一条维系 Google 和苹果之间技术关系的纽带就这样被切断了。

Google 和苹果在多个领域都是竞争对手,而唯独在浏览器引擎上有技术合作,利益一致。但为了各自的利益,谁都不会拿出 100% 的 "诚意" 来做好 WebKit,因为你做出来的成果竞争对手可以直接享用。移动互联网已经崛起,手机和平板设备端必将成为浏览器的另一个战场。这个时候,如果 Google 跟苹果仍然黏在一起,将会严重阻碍双方的进步,也会阻碍 WebKit 的进步。

据说 Blink 删除了 880w 行 webkit 代码。

在“WebKit,WebKit2,Chromium和Chrome介绍”中,大致了解了WebKit是一个渲染引擎,Chromium是一个浏览器,它们那么分别包含哪些不同的功能模块?它们是如何划分地?本章节来为大家详细解读一下。

WebKit:

1. HTML解析::负责HTML语言的解析

2. CSS解析:负责CSS的解析工作

3. 图片解码:支持不同编码格式的图片

4. JavaScript引擎:JavaScript语言的解析引擎,缺省的是JavaScriptCore,但是目前Google 的V8 JavaScript被广泛使用

5. 正则表达式

6. 布局:负责布局(layout)的计算和更新工作

7. 文档对象模型(DOM):DOM是W3C定义的对象模型,该部分负责DOM树及其相应的接口

8. 渲染:与渲染相关的基础设施,例如渲染树,渲染层次树等等

9. SVG:对SVG的支持

10. XML解析:XML语言的解析

11. XSLT:XSLT语言的解析执行

12. URL解析器:URL规范的解析

13. Unicode编解码器:各种编码解码工作

14. 移植:WebKit中比较大的一部分,因为WebKit要工作需要不同平台上有具体的实现,因而不同的移植有不同的实现。chromium的移植很复杂,因为其支持跨平台,所以它的移植需要在windows,linux和mac上工作。

由上面的模块大致可以WebKit主要是跟网页的解析和渲染相关的工作,其不涉及浏览器的历史,书签,下载,cookie管理等等方面的工作。

 Chromium:

1. Cookie管理器:cookie生命周期的管理

2. 历史管理器:历史记录的管理

3. 密码管理器:网页中密码登录信息管理

4. 窗口管理:多个Tab窗口的管理和切换

5. 地址栏:地址栏功能,智能地址填充与书签的协同工作

6. 安全浏览黑名单管理:安全浏览机制

7. 网络栈:与网络传输相关的工作,其有很多创新的东西

8. SSL/TLS:网络传输安全

9. 磁盘缓存:磁盘缓存页面及其替换策略等生命周期的管理

10. 下载管理器:管理下载相关

11. 粘帖板:clipboard的功能

12.书签管理:书签的组织和管理

13. URL解析器:同WebKit

14. Unicode编解码器:同WebKit

Chromium主要是实现浏览器相关的功能,如上面中的网络栈等等。其实以上只是一些浏览器基本功能,chromium实现的远不止这些,这其中包含沙箱模型,NaCl,扩展机制,硬件加速架构等等。这些我们将在之后的章节中逐一介绍它们。

URL解析器和Unicode编解码器在两者中都存在是因为它们都要使用到。

五大浏览器四大内核 只是用户看到仅仅只是浏览器本身,却很少能看到浏览器最核心的部分—浏览器内核。从第一款libwww(Library WorldWideWeb)浏览器发展至今已经经历了无数竞争与淘汰了。现在国内常见的浏览器有:IE、Firefox、QQ浏览器、Safari、Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、遨游浏览器、世界之窗浏览器等。但目前最为主流浏览器有五大款,分别是IE、Firefox、Google Chrome、Safari、Opera。 浏览器最重 阅读详情

相关推荐

【读书笔记】【WebKit技术内 幕(二)】Chromium & Webkit资源加载与网络栈、DOM树、HTML解释器、影子DOM、CSS解释器样式布局、网页层次与渲染、绘图上下文、

Chromium资源加载与网络栈、DOM树、HTML解释器、影子DOM、CSS解释器样式布局、网页层次与渲染、绘图上下文、

多丰富下自己呀 1464

浏览器内核有几种?深度解析浏览器内核工作原理版本区别

其实是因为我们的国产浏览器都没有自己自主研发的内核,而是基于别人的浏览器内核来开发,换言之,就是基于别人的浏览器内核套上自己的一层外壳,从而变成现在大家所能看到的浏览器,所以我们能够发现,现在市面上的主流浏览器在页面设计、使用操作、网页内容展示上都是几乎差不多的。Chromium开头的,这就不得不提到浏览器的领导者,占据全球市场一半份额的巨头:谷歌浏览器,而Chromium就是指谷歌自主研发的内核名称,我们国内的浏览器正是基于谷歌内核而研发的。而谈到世面拥有自己内核的浏览器,也仅仅只有6个,它们分别是。

ITduo的博客 3168

【浏览器】主流浏览器的内核

Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核;Firefox浏览器内核:Gecko内核,俗称Firefox内核;IE浏览器内核:Trident内核,也是俗称的IE内核;苹果Safari浏览器内核:Webkit内核,特点是不受IE、Firefox等内核的约束,比较安全;Opera浏览器内核:最初是自己的Presto内核,后来加入谷歌大军,从Webkit又到了Blink内核;360浏览器、猎豹浏览器内核:IE+Chrome双内核...

day day up 8113

浏览器内核

<br />Rendering Engine<br />浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。<br />  所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网

goodvista的专栏 712

理解WebKitChromium: 前言

转载请注明原文地址:http://blog.csdn.net/milado_nju这几年来,我阅读了很多WebKitChromium的代码,也给它们提交过一些的代码补丁包(patch),一个感觉是代码量真的很大,常常看了这块忘了那块;另一个感觉是文档真的很少,特别是WebKitchromium有不少设计文档,但是还不够详细,不够系统)。这让我觉得非常痛苦,常常摸不着头绪。鉴于自己的经历,觉得很

HTML5, WebKit, Chromium 3万+

理解WebKitChromium: Content APICEF3

相信你一定看过下面这张图(没看过的话去上官网阅读一下“how chromium displays web pages”)。这是一幅介绍页面如何被。

顺其自然~专栏 1573

理解WebKitChromium: WebKit, WebKit2, ChromiumChrome介绍

转载请注明原文地址:http://blog.csdn.net/milado_nju/article/details/7292164 ##概述 在介绍本系列各个专题之前,有必要先解释一下极其容易混淆的几个概念,它们是WebKitWebKit2,ChromiumChrome。 首先来了解WebKit。广义上来说,WebKit是一个开源的项目,其前身是来源于KDE的KHTMLKJS。该项

HTML5, WebKit, Chromium 2万+

理解WebKitChromium: WebKit的CSS实现

转载请注明原文地址:http://blog.csdn.net/milado_nju/article/details/7685517 # CSS在WebKitChromium中的实现 ## 概述 前面章节介绍了CSS的三种基本要素,大概可以分成选择器,各种基本样式CSS3引入的变形、变换动画等。本章在此基础上,着重介绍CSS是如何在WebKitChromium得到支持的

yongcai1的专栏 740

理解WebKitChromium: Chromium网络栈

#概述

HTML5, WebKit, Chromium 1万+

理解WebKitChromium: WebKitChromium代码目录结构介绍

转载请注明来源: http://blog.csdn.net/milado_nju/article/details/7300058 WebKitChromium的代码量很大(这两个项目都是几百万行代码的级别,不包括它们依赖的第三方库),读起来是相当的不容易。但是良好的代码组织结构很好的帮助了开发者学习者们,下面大致介绍一下它们的目录结构及其用处,方便了解学习,进而快速地理解整个项目。因为

HTML5, WebKit, Chromium 1万+

理解WebKitChromium

WebKit 简介 Chromium WebKitChromium代码目录结构 WebKit的代码目录结构 Chromium多进程模型 优缺点 Chromium的进程模型IPC WebKit是渲染引擎,Chromium是浏览器 WebKit的功能 Chromium的功能 Misc WebKit Misc Chromium WebKit 简介 狭义的Web...

performance 4334

Chromium/WebKit的缓存机制

[本文属于原创,如有转载,请注明出处http://blog.csdn.net/yl02520/article/details/22300467] 现在假设用户用Chrome浏览器打开www.sohu.com主页,点击主页上的NBA导航链接,就跳转到sohu主页的NBA子页面中,在浏览完NBA子页面后,用户又想回到主页面,这次点击浏览器窗口上的后退按钮,即可回到主页面,这一切似乎很平常,只是让

HTML5, Chromium和WebKit技术 7091

理解WebKitChromium: Canvas2D及其实现

## 概述 Canvas是HTML5新引入的元素,它是一个画布。开发者可以用JavaScript脚本在该元素上绘制任意图形(2D或者3D)。Canvas元素有两个属性“width”“height”,用来设置画布的宽度高度。Canvas本身来讲并没有定义绘制图形的动作行为,只是提供了一个获取绘图的上下文(context)对象的方法-getContext来获取绘制2D或者3D上下文。

u014513459的专栏 751

理解WebKitChromium: WebKitBlink

转载请注明出处:http://blog.csdn.net/milado_nju/ 关注WebHTML5领域的人最近应该都有了解WebKit项目的重磅消息,那就是Google退出WebKit项目,创建自己的渲染引擎Blink。这其实不能说完全没有先兆,合合分分,纯属正常。其实,之前关于WebKit2,双方的争论就非常的大。Apple希望它可以随便加入删除代码而无需担心它会破坏其它Ports

HTML5, WebKit, Chromium 3万+
上一篇: HEVC/H.265与AVC/H.264对比总结
下一篇: Ffmpeg框架&流程结构解读
datamining2005
博客等级 码龄20年 400粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值