分享

上个网也不简单,浅析浏览器的“内核之战”

 三易生活 2021-01-15

说到上网,我们现在肯定离不开各种各样的浏览器,无论是查阅资料还是听歌看电影,首先要做的就是打开浏览器,然后才能进行下一步操作。


这些浏览器中,有国产的,有国外的,有移动端的,也有PC端的,但是你知道这些花式各样的浏览器背后很可能都是同一颗“心”吗?今天就带大家来游览一下目前市面上浏览器的内核,也是浏览器最核心的部位。

Trident

Trident(IE内核),是目前电脑上IE浏览器都采用的内核,也是我们接触最多的浏览器内核,这款内核程序1994年在IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到IE11,也被普遍称作”IE内核”。Trident实际上是一款开放的内核,其接口内核设计的相当成熟。

 

微软IE内核一直被人诟病的是其对W3C标准长期的脱节,其次是大量的Bug等安全性问题没有得到及时解决。而后许多用户开始转向其他浏览器,像Firefox和Opera就从那个时候开始崛起,也正是从这个时候开始,许多网页开发人员才开始重视网页显示的标准问题。

目前老的IE浏览器基本上都已经淘汰了,最新的IE 11已经比较符合主流的网页排版了。

Webkit

Wekbit是一个开源的Web浏览器引擎,也就是浏览器的内核。WebKit最初的代码来自KDE的KHTML和KJS(它们均为开放源代码,都是自由软件,在GPL协议下授权)。所以WebKit也是自由软件,同时开放源代码。它的特点在于源码结构清晰、渲染速度极快,并且对w3c标准的支持也非常完善。

Webkit大概包含三大部分,其中,WebCore是Webkit的核心部分,它实现了对文档的模型化,包括了CSS, DOM, Render等的实现, JavaSript Core显然是对JavaSript支持的实现。

而橘黄色标注的Webkit部分包含了很多不同平台对Webkit封装的实现,即抽象出了与浏览器所能直 接对应的一些概念的实现,如,WebView,WebPage, WebFrame等。

这三部分共同构成了Webkit, 在源码中,它们分别对应这个这三个目录,即Webkit三大部分为WebCore, JavaSript Core,Webkit。

目前苹果系产品下的浏览器Safari采用的就是Wekbit内核,国内的遨游浏览器应用的也是这款内核。

Blink

Blink是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。

严格来说,Blink内核是WebKit内核的一个分支,它并不能完全算是一个全新的内核。相比WebKit而言,Blink渲染更加快速和简约也极大的提高了浏览器的运行速度。

在谷歌转向Blink开发后,Opera浏览器也投入了Blink的怀抱。而国内各种基于chrome开发的浏览器也转向了Blink内核,像360极速浏览器,QQ浏览器等基于的都是Blink内核。

Gecko

Gecko是一套开放源代码,以C++编写的网页排版引擎,最初由Natescape6采用,现在则由mozilla基金会进行维护。Gecko的特点是代码完全公开,因此,其可开发程度很高,所有程序员都可以为其编写代码,增加功能,因此受到许多人的青睐。我们熟知的Firefox火狐浏览器采用的就是Gecko内核。

 

Gecko内核对现代Web标准有了良好的兼容性。对HTML、XHTML、CSS、XML、XSLT、DOM 0/1/2、JavaScript都有不错的支持。在扩展方面,也有学自IE的XMLHttpRequest(已被收入标准草稿)、学自WebKit的Canvas 2D(已被收入标准草稿)、引自WHATWG的Storage API(已被收入标准草稿)、自创的XBL(后续版本标准化中)以及有限的“可编辑内容”。

Presto

Presto是挪威浏览器Opera自主开发的渲染引擎,该款引擎的特点就是渲染速度的优化达到了极致,对页面文字的解析方面的性能比webkit还要高,对页面有较高的阅读性,不过代价是牺牲了网页的兼容性。

在Opera 7.0版本之后的浏览器采用的就是该款内核,不过随后转而跟随 Chrome 使用Blink内核,Presto内核也就彻底没落了。

由内核到浏览器——我们需要的是什么?

浏览器在内核上的异彩纷呈地争斗,其背后也反映出浏览器渐渐从“功能时代”转向“性能时代”,用户不仅仅满足于功能是否丰富,他们还需要浏览器能够快速地渲染出网页内容,而不是让用户苦苦地等待。

也正是如此,速度、稳定性、兼容性将重新被定为评判浏览器优劣的标准。从这个角度上来看,浏览器内核之间的竞争,也对浏览器厂商的背后的实力提出了更高的要求,在计算机性能越来越强悍的趋势下,厂商能否利用这些性能为用户的体验做出一些实在的事情,这是每一个浏览器厂商都应该去关注和思考的东西。

【本文图片来自网络】

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多