logo头像

求知若渴,虚心若愚

浏览器 - 常见浏览器内核

浏览器内核

  • 浏览器内核,经常被称为排版引擎(layout engine)渲染引擎(rendering engine)
  • 浏览器内核负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript)并渲染(显示)网页。
  • 不同的浏览器在获取到某页面的代码文件后,负责根据这套规范将代码渲染出来呈现给用户,浏览器内核所做的就是这个渲染工作。
  • 由于不同的浏览器内核对网页编写语法的解释有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

TIP
前端开发人员很痛恨的一个吐槽点:浏览器兼容问题,就是浏览器内核的锅

常见浏览器内核

  • Trident(IE内核)
  • Gecko(Firefox内核)
  • Presto(Opera前内核) (已废弃)
    • Opera现已改用Google Chrome的Blink内核
  • Webkit(Safari内核,Chrome内核原型,开源)
  • Blink

Trident(IE内核)

  • 997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到IE11
  • 内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到IE11,也被普遍称作”IE内核”。
  • 从ie 9(2011)开始,Trident开始支持HTML5和CSS 3,所以我们经常会看到有些网站在浏览时会提示用户(在Internet Explorer 9.0+以上浏览效果最佳)
  • 国内大部分浏览器初期都是以Trident内核为基础,后期发布的双核或者多核浏览器,其中一个内核基本都是Trident内核,另一个内核可以选择其他

TIP
国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换

Gecko(Firefox内核)

  • 代码完全公开
  • Netscape6开始采用的内核,后来的Mozilla FireFox(火狐浏览器)也采用了该内核
  • 由来(IE的锅):
    • IE由于windows的原因处于垄断地位,长时间不开发新版本(吃老本),导致了微软内部一些开发人员的不满
    • 他们与当时已经停止更新了的 Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Gecko。
    • 不过事实上,Gecko 内核的浏览器仍然还是Firefox (火狐浏览器)用户最多,所以有时也会被称为Firefox内核。
    • 此外Gecko也是一个跨平台内核,可以在Windows、 BSD、Linux和Mac OS X中使用。

TIP
Trident和Gecko 内核的开发,都和IE有直接关系

Presto(Opera前内核)

  • Presto是一款商业引擎,收费的那种,所以也一定程度上阻碍了它的发展

  • Opera浏览器前内核,现在已经不再使用了,Opera现已改用Google Chrome的Blink内核

  • 该款引擎的特点就是渲染速度的优化达到了极致,代价是牺牲了网页的兼容性
  • Presto动态内核,在处理JavaScript的时候,速度非常快,同等条件下Trident和Gecko内核的约1/3,(Trident内核最慢)

Webkit(Safari内核,Chrome内核原型,开源)

  • 这是苹果公司开发的内核,也是其旗下产品Ssfari浏览器使用的内核。
  • Webkit引擎包含了WebCode排版引擎和JavaScriptCode解析引擎,分别是从KDE的KHTML和KJS衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统开发。
  • Google Chrome、360极速浏览器以及搜狗高速浏览器高速模式也使用Webkit作为内核(在脚本理解方面,Chrome使用自己研发的V8引擎)。
  • WebKit 内核在手机上的应用也十分广泛,例如 Google 的手机 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。

TIP

  • 移动设备iPhone和iPad等苹果iOS平台上面safari浏览器内核是webkit
  • Android 4.4之前的Android系统浏览器内核是WebKit
  • Android4.4系统浏览器切换到了Chromium,内核是Webkit的分支Blink
  • 市场上主流移动端浏览器内核都是webkit或者和webkit关系很大
  • Blink是一个由Google和OperaSoftware开发的浏览器渲染引擎,Google将这个渲染引擎作为Chromium计划的一部分。
  • 2013年4月,Google宣布将为Chrome浏览器开发新的自主渲染引擎Blink,与WebKit分道扬镳
  • 由来:
    • 早起搭载iOS和Android系统智能手机称霸全球手机市场,苹果和Google推动WebKit使其成为目前最大的浏览器引擎。
    • 但是由于苹果在这个开源系统中有更多的话语权,Google只能被动接受,话语权不行,Google受制于人
    • 浏览器对Google的重要性远胜于苹果,在自己的核心领域绝不能受制于人,因此Google决定利用WebKit的成果,开发自己的Blink引擎。

Chromium

  • Chromium是一个由Google主导开发的网页浏览器,以BSD许可证等多重自由版权发行并开放源代码。
  • 特点:
    • 设计思想基于简单、高速、稳定、安全等理念
    • 在架构上使用了Apple发展出来的WebKit排版引擎、Safari的部份源代码与Firefox的成果
    • 并采用Google独家开发出的V8引擎以提升解译JavaScript的效率
    • 而且设计了“沙盒”、“黑名单”、“无痕浏览”等功能来实现稳定与安全的网页浏览环境。
  • 区别:
    • Chromium是Google为发展自家的浏览器Google Chrome(以下简称Chrome)而开启的计划
    • 所以Chromium相当于Chrome的工程版或称实验版(尽管Chrome自身也有β版阶段)
    • 新功能会率先在Chromium上实现,待验证后才会应用在Chrome上
    • 故Chrome的功能会相对落后但较稳定。
  • 更新:
    • Chromium的更新速度很快,每隔数小时即有新的开发版本发布,而且可以免安装
    • 下载zip封装版后解压缩即可使用(Windows下也有安装版)
    • Chrome虽然理论上也可以免安装,但Google仅提供安装版。

Chromium vs Google chrome

  • Chromium

    • 是 Google 的chrome浏览器背后的引擎,其目的是为了创建一个安全、稳定和快速的通用浏览器。
    • 国内的大部分双核浏览器都采用Chromium内核。
  • Google Chrome

    • 又称Google浏览器
    • 是一个由Google(谷歌)公司开发的网页浏览器。
    • 该浏览器是基于其他开源软件所撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。
  • 两者之间的差异:

    • Chromium是谷歌的开源项目,开发者们可以共同去改进它,然后谷歌会收集改进后的Chromium并发布改进后安装包,Chrome不是开源项目,谷歌会把Chromium的东西更新到Chrome中。
    • Chromium不用安装,下载下来的是压缩包,解压后直接就可以使用,Chrome需要安装;
    • Chromium功能比Chrome多,因为新功能都是先在Chromium中使用,等完善后才添加到Chrome中,相对的Chrome就要比Chromium稳定很多不容易出错;
    • Chromium不开放自动更新功能,所以用户需手动下载更新,而Chrome则可自动连上Google的服务器更新,但新版的推出很慢

TIP
可以理解为Chromium是体验版,Chrome是正式版

支付宝打赏 微信打赏

赞赏是对我们的肯定!