浏览器内核了解

浏览器内核分为渲染引擎和js引擎。渲染引擎主要负责结构与样式,即网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。js引擎则负责解析JavaScript,实现网页的动态效果。一开始渲染引擎与js引擎并没有区分的很明确,但是后来js引擎越来越独立,内核倾向于只指渲染引擎。内核可以分为Trident、Gecko、Blink、Webkit

Trident(IE内核)

微软基于Mosaic(历史第一个浏览器)代码修改成新的Trident内核,开发出IE。微软将其捆绑在自己的系统上,因此占有很大的市场。Trident从IE4首次采用一直沿用到IE11,Trident是一款开放的内核,比较轻盈,历经多代发展,已具有成熟的接口规范和接口开发性,能够适应不同的脚本要求。IE 从版本 11 开始,初步支持 WebGL 技术。IE8 的 JavaScript 引擎是 Jscript,IE9 开始用 Chakra,这两个版本区别很大,Chakra 无论是速度和标准化方面都很出色。因为IE的代码适应不了新要求的web技术,就重新开发了一个名为“edge”的浏览器用来取代IE。

Gecko(Firefox 内核

Netscape6开始采用Gecko内核,其代码完全公开,可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。但是Gecko内核由于公司产品研发策略发生的偏差,导致它越来越臃肿。另一方面由于未然将浏览器捆绑到系统上,几乎处于 “垄断”地位以当时的,因为长时间一家独大,微软很长时间都并没有更新 Trident 内核,导致 Trident 内核曾经几乎与 W3C 标准脱节,并且内核的大量 Bug 等安全性问题没有得到及时解决。于是Mozilla以Mosaic 内核为基础重新编写内核,重新开发出了 Gecko,解决安全和速度问题。Gecko 内核的浏览器还是 Firefox 用户最多,此外 Gecko 也是一个跨平台内核,可以在Windows、 BSD、Linux 和 Mac OS X 中使用。

Webkit

safari浏览器

很多人看到webkit内核想到的是chrome浏览器,但其实webkit的鼻祖是safari。Gecko再次犯了当年的错误——贪大求全,将邮件组、新闻组、聊天等流行应用都打包进了Firefox,导致内存占用问题。此外,Firefox对JavaScript的支持并不好,反应迟钝也开始被频频抨击。而Trident呢,几乎没怎么更新过,很多兼容问题导致开发者也是头大。这时苹果推出的基于WebKit内核的Safari浏览器,WebKit内核则是基于KHTML 引擎开发出来的,可以说 WebKit 是 KHTML 的一个开源的分支。相比Gecko,KHTML 拥有清晰的源码结构和极快的渲染速度,也实现了JavaScript脚本的快速解释器调用。随后就赢得了Google的青睐(2008 年谷歌公司发布 chrome 浏览器,采用的 chromium 内核便 fork 了Webkit)。

chrome浏览器

2008年chrome横空出世,界面简洁、加载快速、数据安全等这些特点让chrome越来越受喜欢。谷歌发布的 chrome 浏览器使用的内核被命名为chromium。chromium 虽然是开源引擎webkit的一个分支,却把 WebKit 的代码梳理得可读性提高很多,所以以前可能需要一天进行编译的代码,现在只要两个小时就能搞定。谷歌公司后来还研发了自己的 Javascript 引擎,V8,极大地提高了Javascript的运算速度。

Blink 其实是WebKit的分支,如同WebKit是KHTML的分支一样。Chromium项目此前一直使用WebKit作为渲染引擎,但出于某种原因,并没有将其多进程架构移植入Webkit。后来,由于苹果推出的WebKit2与Chromium的沙箱设计存在冲突,所以Chromium一直停留在 WebKit,并使用移植的方式来实现和主线 WebKit2的对接。这增加了Chromium 的复杂性,且在一定程度上影响了Chromium的架构移植工作。于是Google 决定从 WebKit 衍生出自己的 Blink 引擎(后由 Google 和 Opera Software 共同研发),将在 WebKit 代码的基础上研发更加快速和简约的渲染引擎,并逐步脱离 WebKit 的影响,创造一个完全独立的 Blink 引擎。

Presto(弃用)

挪威浏览器opera先是使用Presto,后来使用webkit。Opera7.0使用自主开发的 Presto 渲染引擎,该款引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。为了减少研发成本,Opera 在 2013 年 2 月宣布放弃 Presto,转而跟随 Chrome 使用 WebKit 分支的 Chromium 引擎作为自家浏览器核心引擎,Presto 内核的 Opera 浏览器版本永远的停留在了12.17。在 Chrome 于 2013 年推出 Blink 引擎之后,Opera 也紧跟其脚步表示将转而使用 Blink 作为浏览器核心引擎。但是换内核的代价是原本快速,轻量化,稳定的 Opera 浏览器变得异常的卡顿,而且表现不稳定。

双核浏览器

国内大多数浏览器使用的是双核,因为有些像网银和公司校园这类网站用Chrome浏览器打不开或会出问题,但却可以用IE浏览器打开。但是对于常见的网站用 IE 浏览器搞不好就会卡死。大多数双核浏览器是使用一个基于Webkit内核,碰到兼容性问题使用Trident内核。

移动端浏览器

移动端的浏览器内核主要说的是系统内置浏览器的内核。

主要是:webkit、chromium、blink、trident、u3、x5

Android 4.4 之前的 Android 系统浏览器内核是 WebKit,Android4.4 系统浏览器切换到了Chromium。u3是uc的内核,x5是腾讯浏览器的内核。

参考:https://www.jianshu.com/p/db1b230e3415


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值