浅谈常用的浏览器内核

im, 无色
im, 无色
im, 无色
884
文章
0
评论
2019年7月9日22:39:11 评论 641

浏览器最重要或者说核心的部分是“Rendering Engine”,我们一般习惯将之称为“浏览器内核”,负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript)并渲染(显示)网页。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

一开始,浏览器内核可以分成两部分,渲染引擎和JS引擎。渲染引擎,它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出在显示器或打印机上。JS引擎,则是解析Javascript语言来实现网页的动态效果。

最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组只做了一个ACID来测试引擎的。

下面来说说现用的主要的浏览器内核:

(1)Trident(IE内核)
Trident由微软开发,并于1997年10月首次在ie 4.0中使用,所以称为IE内核。凭借windows的垄断优势,Trident的市场占有率一直很高。但垄断并非无往不利,没有竞争就没有进步,长此以往,Trident内核一度停滞不前,更新缓慢,甚至达到一度与W3C标准脱节的地步。2011年,从ie 9开始,Trident开始支持HTML5和CSS 3,因此我们也经常会看到有些网站在浏览时会提示用户(在Internet Explorer 9.0+以上浏览效果最佳)。前端程序员做浏览器兼容一般也不再会考虑ie 8之前的浏览器了。
现在国内很多的双核浏览器的其中一核便是Trident,美其名曰“兼容模式”。使用Trident内核的代表浏览器有:IE、傲游、世界之窗浏览器、Avant、腾讯TT、猎豹浏览器、360极速浏览器、百度浏览器等。
不过,window10发布后,IE将其内置浏览器命名为Edge,Edge最显著的特点就是新内核EdgeHTML。

(2)Gecko (firefox)
Gecko(Firefox 内核):Mozilla FireFox(火狐浏览器)采用该内核,Gecko的特点是它是一个开源内核,代码完全公开,因此,其可发程度很高,全世界的程序猿都可以为其编写代码,增加功能,这也是Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。
Gecko渲染引擎提供了一个丰富的程序界面以供与互联网相关的应用程序使用,例如网页浏览器、HTML编辑器、客户端/服务器等。虽然最初的主要对象是Mozilla的衍生产品,如Mozilla Firefox,但是现在已有很多其他软件利用这个渲染引擎。此外Gecko也是一个跨平台内核,可以在Windows、BSD、Linux和Mac OS X中使用。
正在和曾经使用Gecko引擎的浏览器有Firefox、网景6~9、SeaMonkey、Camino、Mozilla、Flock、Galeon、K-Meleon、Minimo、Sleipni、Songbird、XeroBank。Google Gadget引擎采用的就是Gecko浏览器引擎。
但可惜Gecko这几年逐渐有些没落了,比如它打开速度慢、升级频繁、还有拖后腿的队友flash和厉害的对手chrome。

(3)Webkit(safari)
Webkit(Safari内核,Chrome内核原型,开源):它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。现在很多人把webkit内核叫chrome内核(即使chrome内核已经是blink了),苹果感觉像被别人抢了媳妇,都哭晕在厕所里面了。Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。
WebKit内核常见的浏览器:傲游浏览器3、Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器。

(4)Blink(chrome)
Blink是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。
---------------------
作者:yanyanwang2017
来源:CSDN
原文:https://blog.csdn.net/yanyanwang2017/article/details/88571930
版权声明:本文为博主原创文章,转载请附上博文链接!

im, 无色
  • 本文由 发表于 2019年7月9日22:39:11
Gecko浏览器内核介绍 Firefox

Gecko浏览器内核介绍

Gecko(Firefox内核):Netscape6开始采用的内核,后来的Mozilla FireFox(火狐浏览器) 也采用了该内核,Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的...
Trident浏览器内核介绍 IE浏览器

Trident浏览器内核介绍

说起Trident,大部分人都会觉得比较陌生,但提起IE浏览器基本上是家喻户晓。由于该内核被包含在全世界最高的使用率的操作系统中,即为Windows操作系统,所以我们又经常把它称之为IE内核。采用用T...
WebKit和Chromium代码目录结构介绍 Chrome开发

WebKit和Chromium代码目录结构介绍

WebKit和Chromium的代码量很大(这两个项目都是几百万行代码的级别,不包括它们依赖的第三方库),读起来是相当的不容易。但是良好的代码组织结构很好的帮助了开发者和学习者们,下面大致介绍一下它们...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: