你需要几个浏览器——浏览器内核详解 | 牧天的酒吧

你需要几个浏览器——浏览器内核详解

2016-06-20 16:48:00 于 技术

作为互联网产品研发环节的从业人员,往往在不同浏览器之间产生困惑。国内浏览器纷争四起,如何选择浏览器,影响着工作的顺畅程度。根据资料,总结起来至少需要安装四款浏览器。

IE6至IE11:Trident内核,目前国内市占率依然坚挺,IE6排名第8得益于XP系统的捆绑,其广泛的分布决定了你的产品无法抛弃IE

Firefox(火狐):Gecko内核,研发人员必备浏览器,学会使用Firefox,事半功倍

Chrome:Blink内核,高逼格,高速度,但是限于Google被墙,国内用户在使用上有诸多不便,影响了市占率

Safari:Webkit内核,苹果系统必备

360安全浏览器/360极速浏览器:Trident+Blink内核,不算IE的总和,360最大了

搜狗高速浏览器:Trident+Webkit内核,国产浏览器排行第二,受益于搜狗输入法的强大市占率

QQ浏览器:Trident+Webkit内核,国产浏览器排行第三,受益于腾讯强大的生态链

以上浏览器,可以代表99%以上的不同浏览器。根据国内权威数据,放上一张图,加强你选择的信心(请自动忽略操作系统的数据,根据目前情况以及很旧了)。

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

一、Trident
Trident(IE内核):该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到IE11,也被普遍称作”IE内核”。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器(壳浏览器)涌现。

由于IE本身的“垄断性”(虽然名义上IE并非垄断,但实际上,特别是从Windows 95年代一直到XP初期,就市场占有率来说IE的确借助Windows的东风处于“垄断”的地位)而使得Trident内核的长期一家独大,微软很长时间都并没有更新Trident内核,这导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量 Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览器,Firefox和Opera就是这个时候兴起的。非Trident内核浏览器的市场占有率大幅提高也致使许多网页开发人员开始注意网页标准和非IE浏览器的浏览效果问题。

补充:IE从版本11开始,初步支持WebGL技术。IE8的JavaScript引擎是Jscript,IE9开始用Chakra,这两个版本区别很大,Chakra无论是速度和标准化方面都很出色。

Trident内核的常见浏览器有:

IE6、IE7、IE8(Trident 4.0)

IE9(Trident 5.0)

IE10(Trident 6.0)

IE11(Trident 7.0)

360安全浏览器(1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink)

360极速浏览器(7.5之前为Trident+Webkit,7.5为Trident+Blink)

猎豹安全浏览器(1.0-4.2版本为Trident+Webkit,4.3及以后版本为Trident+Blink)

猎豹极轻浏览器

傲游浏览器(傲游1.x、2.x为IE内核,3.x为IE与Webkit双核)

百度浏览器(早期版本)

世界之窗浏览器(最初为IE内核,2013年采用Chrome+IE内核)

2345浏览器

腾讯TT

淘宝浏览器

采编读浏览器

搜狗高速浏览器(1.x为Trident,2.0及以后版本为Trident+Webkit)

阿云浏览器(早期版本)

瑞星安全浏览器

Slim Browser

GreenBrowser

爱帆浏览器(12 之前版本)

115浏览器

155浏览器

闪游浏览器

N氧化碳浏览器

糖果浏览器

彩虹浏览器

瑞影浏览器

勇者无疆浏览器

114浏览器

蚂蚁浏览器

飞腾浏览器

速达浏览器

佐罗浏览器

海豚浏览器(iPhone/iPad/Android)

UC浏览器(Blink内核+Trident内核)

其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。

二、Gecko
Gecko(Firefox内核):Netscape6开始采用的内核,后来的Mozilla FireFox(火狐浏览器) 也采用了该内核,Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,Gecko内核的浏览器也很多,这也是Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。

事实上,Gecko引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的 Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Gecko。不过事实上,Gecko 内核的浏览器仍然还是Firefox (火狐) 用户最多,所以有时也会被称为Firefox内核。此外Gecko也是一个跨平台内核,可以在Windows、 BSD、Linux和Mac OS X中使用。

补充:JavaScript引擎是SpiderMonkey。

Gecko内核常见的浏览器:

Mozilla Firefox

Mozilla SeaMonkey

waterfox(Firefox的64位开源版)

Iceweasel

Epiphany(早期版本)

Flock(早期版本)

K-Meleon
三、Presto

Presto(Opera前内核) (已废弃): Opera12.17及更早版本曾经采用的内核,现已停止开发并废弃,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。

实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行Javascrīpt的时候有着最快的速度,根据在同等条件下的测试,Presto内核执行同等Javascrīpt所需的时间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大),本文的其中一个修改者认为上述测试信息过于老旧且不完整,因为他曾做过的小测试显示Presto部分快部分慢,各内核总体相当。那次测试的时候因为Apple机的硬件条件和普通PC机不同所以没有测试WebCore内核。只可惜Presto是商业引擎,使用Presto的除开Opera以外,只剩下NDSBrowser、Wii Internet Channle、Nokia 770网络浏览器等,这很大程度上限制了Presto的发展。

Opera现已改用Google Chrome的Blink内核。

四、Webkit
Webkit(Safari内核,Chrome内核原型,开源):它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

限于Mac OS X的使用不广泛和Safari浏览器曾经只是Mac OS X的专属浏览器,这个内核本身应该说市场范围并不大;但似乎根据最新的浏览器调查表明,该浏览器的市场甚至已经超过了Opera的Presto了——当然这一方面得益于苹果转到x86架构之后的人气暴涨,另外也是因为Safari 3终于推出了Windows版的缘故吧。Mac下还有OmniWeb、Shiira等人气很高的浏览器。

Google Chrome、360极速浏览器以及搜狗高速浏览器高速模式也使用Webkit作为内核(在脚本理解方面,Chrome使用自己研发的V8引擎)。WebKit 内核在手机上的应用也十分广泛,例如 Google 的手机 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。

WebKit内核常见的浏览器:

傲游浏览器3

Apple Safari (Win/Mac/iPhone/iPad)

Symbian手机浏览器

Android 默认浏览器

搜狗高速浏览器

QQ浏览器

五、Blink

Blink是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。

Blink内核常见的浏览器:

Chrome(28及往后版本)

Opera(15及往后版本)

Yandex浏览器

360安全浏览器

360极速浏览器

猎豹安全浏览器

(全文完)

回主页