深入理解浏览器内核

728 阅读4分钟
原文链接: mp.weixin.qq.com

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

深入理解浏览器内核 - 概述 上一篇文章介绍了互联网及万维网的概念,了解了浏览器是万维网的入口,是获得信息资源的工具,因此各大厂商都在争夺浏览器的市场。本文将为大家介绍目前的浏览器市场状况及其各自使用的内核。

截至到目前为止,各浏览器厂商的全球市场占有率如下图所示:

图1- 1各大浏览器市场占有率

数据来源:

http://gs.statcounter.com/browser-market-share

该统计包含了桌面、手机、平板等所有终端平台,从上图可以看出,谷歌公司出品的Chrome浏览器 其全球市场占有率达到可怕的56.33%,具有绝对的优势。其次是苹果公司的Safari浏览器 ,拥有14.38%的市场份额。国产UC浏览器 表现不俗,获得了7.87%的份额,剩下的分别是FireFox、Opera、IE等浏览器。

对于浏览器来说,其核心为浏览器内核,不同的浏览器有可能使用的是同一个内核,因此研究浏览器就需要研究浏览器的内核。接下来将介绍常见的浏览器内核有哪些。

图1- 2常见浏览器内核信息

数据来源:

https://en.wikipedia.org/wiki/Comparison_of_browser_engines

图1-2展示了常见的浏览器内核,其中KHTML、Presto、Tasman和Trident四个浏览器内核现在已不再维护了。

EdgeHTML、Presto、Tasman和Trident四个是闭源的,其他的都是遵循GNU 、BSD等协议的开源内核。

微软新版本操作系统的Edge浏览器使用的内核是EdgeHTML,GoogleChrome、Opera 等浏览器使用的是Blink内核,Mozilla使用的主要是Gecko内核,苹果的Safari一如继往的还是在使用WebKit 内核。

接下来,将为大家介绍这些内核对操作系统的支持情况。

图1- 3各浏览器内核支持的操作系统

数据来源:

https://en.wikipedia.org/wiki/Comparison_of_browser_engines

从图1-3可以看到,WebKit的跨平台性做的最好,支持

Windows、macOS、iOS、Android、Linux 、BSD等所有平台。微软的EdgeHTML内核跨平台型最差,这和微软一贯的作风还是很相符的, Blink、Gecko目前还未支持iOS,应该在不远的将来实现支持。

上面列举的这些浏览器内核分别是什么时候诞生的呢?

图1- 4浏览器内核诞生时间轴

数据来源:

https://en.wikipedia.org/wiki/Comparison_of_browser_engines

从图1-4可以看到浏览器内核诞生的时间顺序为:Gecko ->Trident -> KHTML -> WebKit -> Presto -> Blink -> Edge -> Goanna。

Gecko不愧为老牌的内核,而且一直以来都被Mozilla支持,作为微软IE浏览器的内核Trident、KHTML 以及Presto都走到了终点,不再得到支持。微软放弃了Trident,进而转向了EdgeHTML内核。

三个新锐内核EdgeHTML、Blink和Goanna都是在2010 年以后诞生的,其中由微软主推的EdgeHTML,谷歌公司主推的Blink,这两个内核将在未来很长一段时间内发挥重要作用。

从浏览器的内核发展历程可以看到,老牌的Gecko内核诞生于1997年,至今已有21年了,历史非常悠久,在浏览器内核市场至关重要。国内企业想要完全重新开发一个具有全新思想和领先的浏览器内核,这是一件极其困难的事情,大部分企业都是在现有的内核基础上进行扩展,而非完全创新。

更多精彩文章:

深入理解浏览器内核 - 概述

python快速求解不定积分和定积分

【重磅收藏】numpy生成实数序列方法汇总

AI告诉你张无忌最爱的竟是...

Jupyter快速编辑高大上数学公式 泰勒展开式

Jupyter快速编辑高大上数学公式 常见希腊字母

什么是机器学习

基本初等函数 指数函数

基本初等函数 指数函数 代码篇

聊一聊JavaWeb面试

聊一聊单片机和服务器

50行代码实现简单的网站服务器

50行代码实现网站服务器 2

50行代码实现网站服务器 3

Tomcat源码分析之 doGet方法(一)

Tomcat源码分析之 doGet方法(二)

Tomcat源码分析之 doGet方法(三)

Tomcat源码分析之 doGet方法(四)

Tomcat源码分析之中文乱码(一)

一种基于状态机的 DOM 树生成技术(1)

一种基于状态机的 DOM 树生成技术(2)

 where2go 团队


   

微信号:算法与编程之美          

长按识别二维码关注我们!

温馨提示:点击页面右下角 “写留言”发表评论,期待您的参与!期待您的转发!