最近“个人恶趣味”持续发酵,突然想了解一下浏览器内核的发展历史。
核心
首先我们要明白浏览器内核指的是什么。
浏览器核心可以分为两部分:渲染引擎(或)和JS引擎。 它负责获取网页的内容(HTML、XML、图像等),组织信息(如添加CSS等),并计算网页的显示方式,然后输出到显示器或打印机。 不同的浏览器内核对网页的语法解释不同,因此渲染效果也不同。 所有网络浏览器、电子邮件客户端和其他编辑和显示网络内容的应用程序都需要内核。 JS引擎就是解析语言并执行语言来实现网页的动态效果。
起初,渲染引擎和JS引擎并没有明确区分。 后来JS引擎越来越独立,内核往往只指渲染引擎。 Web 标准倡议组织制定了 ACID 来测试引擎兼容性和性能。 内核有很多种类型。 如果加上很少有人使用的非商业免费内核,可能有十多种,但是常见的浏览器内核可以分为这四种: 、Gecko、Blink、.
(['traɪd(ə)nt])
(IE ):这个内核程序于1997年在IE4中首次采用,它是微软代码的基础(“”,这是人类历史上第一个浏览器,从中可以在图形界面窗口中浏览网页)由上述修改而来,并在IE11中继续使用,通常也被称为“IE核心”。
其实它是一个开放的内核,其界面内核设计也相当成熟,所以有很多浏览器(shell浏览器)使用IE内核而不是IE。 由于IE本身的“垄断”(虽然名义上IE并不是垄断,但事实上,尤其是从1995年代到XP初期,IE确实依靠东风在市场上处于“垄断”地位)分享),使得内核长期占据主导地位,微软很长一段时间没有更新内核,这导致了两个后果——一是内核几乎与W3C标准脱节(2005年),二是内核存在bug等安全问题较多。 及时得到了解决,一些致力于开源的开发者和一些学者公开了IE浏览器不安全的观点,很多用户纷纷转向其他浏览器,此时Opera应运而生。 非内核浏览器市场份额的大幅提升,也让很多网页开发者开始关注网页标准以及非IE浏览器的浏览效果。
补充:从11版本开始,IE初步支持WebGL技术。 IE9使用IE8的引擎。 这两个版本之间的差异非常大,无论是在速度还是标准化方面。
国内很多双核浏览器的核心之一,美其名曰“兼容模式”。
IE发布后,将其内置浏览器命名为Edge,而Edge最显着的特点就是新的内核。
壁虎 (['gekəʊ])
Gecko(内核):最开始使用的内核,后来(浏览器)也采用了该内核。 Gecko的特点是代码完全开放,因此它的可开发性非常高,全世界的程序员都可以为它编写代码,添加功能。 由于这是一个开源内核,因此受到很多人的青睐。 还有许多带有 Gecko 内核的浏览器。 这也是Gecko内核尽管年纪轻轻却能迅速提升市场份额的重要原因。
事实上,Gecko引擎的起源与IE不无关系。 前面我说过IE没有使用W3C标准,这引起了微软内部一些开发人员的不满; 他们和一些当时已经停止更新的员工一起创立了它。 在当时的内核基础上,重写了内核,开发了Gecko。 但实际上火狐浏览器的内核,使用 Gecko 内核的浏览器仍然是用户最多的(),因此有时也被称为内核。 此外,Gecko还是一个跨平台内核,可以在BSD、Linux和Mac OS X中使用。
一提到,首先想到的就是,可以说核心深入人心。 众所周知,这本书的鼻祖其实是。 现在很多人错误地称之为内核(即使内核已经是blink了),苹果哭瞎了。
它是苹果公司开发的一款浏览器,采用KDE(Linux桌面系统)的KHTML作为浏览器内核,所使用的浏览器内核的名字很有名。 测试版于2003年1月7日首次发布,并成为Mac OS X v10.3及更高版本的默认浏览器,以及其他Apple产品的指定浏览器(该平台也支持)。
上面提到过,它的前身是KDE团队的KHTML引擎,可以说是KHTML的一个开源分支。 在比较了 Gecko 和 KHTML 后,苹果选择了后者进行引擎开发,因为 KHTML 具有清晰的源代码结构和极快的渲染速度。
内核可以说是苹果对软件行业最大的贡献之一,主要是为硬件盈利。 随后,2008年,发布了浏览器,使用的内核是fork的。
/宾克
2008年,谷歌发布了一款浏览器,并以该浏览器所使用的内核命名。
该分叉来自开源引擎,但代码经过了整理,使其更具可读性,因此过去可能需要一天才能编译的代码现在可以在两个小时内完成。 因此该引擎和基于它的其他引擎渲染的页面效果也是不同的。 因此,有的地方会把引擎和区别分开介绍,有的文章会纳入引擎,这是有道理的。
谷歌还开发了自己的引擎V8,大大提高了计算速度。
它问世后,带动了国内浏览器行业的发展。 一些基于网页的单核、双核浏览器如雨后春笋般涌现,如搜狗、360、QQ浏览器等,它们都有不同的外壳,但使用相同的核心。
然而,2013年4月3日,谷歌在Blog上发表博文,称将与苹果开源浏览器核心分道扬镳,并在项目中开发Blink渲染引擎(即浏览器核心),内置于浏览器中。
它运行得很好,为什么要投资新内核呢?
Blink实际上是KHTML的一个分支,就像KHTML的一个分支一样。 项目之前一直使用()作为渲染引擎
,但由于某种原因,其多进程架构并没有被移植到其中。后来由于苹果和苹果推出的沙盒设计存在冲突,一直卡在里面,采用移植的方式实现了与主线的对接。 这增加了我们架构的复杂性,并在一定程度上影响了我们架构的移植工作。
基于以上原因,决定衍生出自己的Blink引擎(后来与Opera联合开发),并将基于代码开发更快、更简单的渲染引擎,逐步脱离Blink的影响,打造一个完全独立的Blink引擎。 就这样,与苹果维持技术关系的唯一纽带被切断了。
苹果和苹果在很多领域都是竞争对手,但只是在浏览器引擎上有技术合作,有着相同的利益。 但为了自己的利益,没有人会拿出百分百的“诚意”去做好工作,因为你做出的成果是可以让竞争对手直接享受到的。 随着移动互联网的兴起,手机和平板设备必将成为浏览器的另一个战场。 这个时候,如果还和苹果纠缠不休,就会严重阻碍双方的进步,也会阻碍中国的进步。
Blink据说删除了880w行代码。
至于为什么叫blink?有兴趣的话可以看看Paul Irish在Blink上的这篇采访,里面说
it fits that Blink will never support the infamous <blink> tag.
Blink引擎问世后,国内各浏览器也纷纷拥抱Blink。 您可以在浏览器地址栏中输入://来查看。 例如360以下:
(['prestəʊ])
它是挪威产浏览器opera的“前身”内核,为什么叫“前身”呢,因为最新的opera浏览器已经抛弃了它,把它放到了大本营。
Opera的一个里程碑式的工作是.0,因为它使用了Opera自研的渲染引擎,取代了旧的Opera 4到6版本使用的排版引擎。 这个引擎的特点是渲染速度的优化达到了极致,但代价就是牺牲了网页的兼容性。
添加了动态功能,例如可以根据 DOM 和语法事件重新排列网页或其部分内容。 推出后,不断发布更新版本,纠正了许多错误,优化了读取性能,使其成为当时最快的引擎。
但为了降低研发成本,Opera于2013年2月宣布放弃,转而沿袭分支引擎作为自己的浏览器核心引擎。 Opera浏览器内核版本永远停留在12.17。 2013年推出Blink引擎后,Opera紧随其后,表示将改用Blink作为核心浏览器引擎。
与开源、谷歌加持的系列相比,推广上并无优势。 这就是Opera转行的主要原因,而且使用该内核的Opera浏览器兼容 的海量插件资源。 但改变内核的成本对于Opera来说太痛苦了。 使用内核后,原本快速、轻量、稳定的Opera浏览器变得异常卡顿,性能不稳定。 Opera 原来的旧内核浏览器书签同步到新内核花了 Opera 整整两年的时间。 在此期间,不少Opera用户改用谷歌等浏览器,导致不少用户流失。 如今仍有数以千万计的人使用旧版本的 Opera。
很多人认为Opera浏览器在12.17终止,更新后的Opera版本号不再是原来的Opera。
这是怎么回事?
关于移动端
移动终端上的浏览器内核主要是指系统内置浏览器的内核。
目前移动设备浏览器上常用的内核有Blink、Gecko等,其中iPad等苹果iOS平台主要是4.4之前的系统浏览器内核,切换到.4系统浏览器。 该内核是Blink的一个分支,Phone 8系统的浏览器内核也是。
总结
浏览器内核主要是指浏览器的渲染引擎。 2013年之前代表的是(IE)、Gecko()、(etc)和(opera)。 2013年,谷歌开始研发Blink引擎,28年后开始使用,而Opera则放弃了自研引擎,投入谷歌的怀抱。 它与共同开发了Blink引擎,各种国产浏览器(360、UC、QQ、2345等)也纷纷放弃,投入了Blink的怀抱。
还有一点文中没有明确说明,那就是它实际上是KHTML的一个分支。 这里的KHTML指的是渲染引擎,实际上指的是一般的渲染引擎,而该引擎是KJS的一个分支。 相反,它有自己的 V8 发动机。 引用各主流浏览器核心介绍中的一段话:
上面我们提到它是基于分支的,由渲染引擎“”和JS解释引擎“”组成,这可能会让你对V8和V8之间的关系感到困惑。 你可以这样理解——它是一个主板,它是一个可移动记忆棒火狐浏览器的内核,其实觉得里面的那个不够好,所以他们自己做了一个V8 JS引擎,这就是为什么它比一些JS效率更高测试。
如果还不足以挣脱“帽子”的话,Blink的出现意味着渲染引擎(Blink)和引擎(V8)将独立开发。 可以预见,在不久的将来,人们在谈论它时不会想到Blink。
版权保护: 本文由 浏览器之家-浏览器下载,浏览器插件,浏览器教程 原创,转载请保留链接: /Firefox/8340.html
- 上一篇: 中国为什么没有自主研发的浏览器内核?
- 下一篇: 火狐浏览器视频下载攻略