本文是《最全面的浏览器教程》第三篇,介绍一些好用的浏览器(近 30 款),以及浏览器内核、历史相关内容。
哪个浏览器最流行?
先介绍一个组织:Statcounter,这是美国一家网站通讯流量监测机构,提供各种类型的统计报告以及网站流量统计服务。
其每年会定期发布浏览器相关的统计。例如这是最近的浏览器市场份额:
可以看到,Chrome 毫无疑问是霸主。
补充:
在 macOS 设备上,Safari 的使用率远远超过了 Chrome
在 Windows 设备上,Edge 是第二受欢迎的浏览器
浏览器内核
再介绍下浏览器内核,你就能知道为什么很多浏览器的功能都一样,很多插件都可以兼容了。
理解这个,也有助于我们选择一款合适的浏览器。
什么是浏览器内核
顾名思义,内核就是浏览器的核心部分,它负责处理浏览器和操作系统、网页渲染和交互的核心部分。
浏览器内核的作用类似于“桥梁”,将网页内容从网络中传输过来并显示给用户。
不同的内核之间:
对网页的解析有所不同,因此同一网页在不同的内核浏览器里的渲染、展示效果也可能不同
侧重点不同,有的注重性能,有的强调高效,有的专注稳定
例如,对于一个音频文件,不同内核的浏览器渲染出来的样式也不同:
常见的浏览器内核
市面上浏览器虽然很多,但浏览器内核其实很少,主要是三大巨头:
以 Chrome 为代表 Chromium,开源在 https://github.com/chromium/chromium
以 Firefox 为代表的 Quantum,开源在 https://github.com/mozilla/gecko-dev
以 Safari 为代表的的 Webkit,开源在 https://github.com/WebKit/WebKit
其他常见的内核,大部分都是基于上述内核开发的,可以理解为是三大巨头的儿子或孙子。
就好比目前市面上有很多手机品牌:小米,OPPO,Vivo,但底层的核心依然是安卓系统,或者基于安卓开发的。
除此之外的内核,例如 IE 的 Trident,Opera 的 Presto 等几乎已经被废弃。
双核浏览器
在早期,IE 浏览器非常流行,几乎是垄断,但由于微软长时间没更新,导致跟不上标准,bug 开始变多,让很多用户开始转向其他浏览器,Firefox 和 Opera 就是这个时候兴起的。
由于很多网页还是只兼容 IE,例如很多银行的系统。我之前在银行负责的系统,就是只兼容 IE 的。
因此一些浏览器有两个内核(双核浏览器),其中一个内核是 Trident,用来访问那些旧网页;另一个通常是 Chromium。
国内的厂商一般把其他内核叫做“高速浏览模式”,而 Trident 则是“兼容模式”,用户可以自行切换。
但双核浏览器只是迫于网络环境的产物,是一个无奈的临时解决方案。
随着 Web 标准的普及,双核浏览器会逐渐失去存在的意义。
Chromium 的流行
目前大部分浏览器,例如 Edge,Opera,Vivaldi,360 浏览器,QQ 浏览器,猎豹浏览器等都是基于 Chromium 的。
这样的浏览器也被称为“套壳浏览器”,就是在 Chromium 内核上套了层壳,换了层皮。
所以它们很多功能都是类似的,很多浏览器插件都是兼容的(这点很方便);但同时又有各自的特色。
打个比方,如果说 Chromium 是做菜的食材的话,那么各家公司就是各大菜系的厨子,各家有各家对食材的不同理解,所以出锅的口味自然不同。
FireFox 的开源协议对商业产品不友好(不像 Chromium ,可以用来开发闭源软件),很少公司基于它来开发浏览器。
内核的复杂性
浏览器内核是计算机领域最为复杂的工程之一,里面涉及到很多专业领域。
据报道,Chrome 内核有超过 3100 万行代码,跟 Linux Kernel 都差不多了,大小超过 24 G,Firefox 浏览器的内核有超过 2000 万行的代码。
如果想了解浏览器内核的历史,可以看看:
全面了解浏览器(内核)发展史 - 简书
漫画 | 为什么中国没有搞出浏览器引擎?
这也就意味着,从头开发一个内核是很困难的事,需要投入大量的成本;换句话说,在已有三大开源内核的情况下,几乎没有人会这么做,顶多是基于开源项目进行二次开发,这也让三大内核处于垄断地位,也就是被几家商业公司控制着。
当然,互联网是开放的,总会有人站出来:
Rust 重写万物之 —— 从头开始编写浏览器引擎
这两个程序员要花 100 万,彻底重写世界上最复杂的软件!
企业、浏览器、搜索引擎
为了不让读者混淆,有必要补充一点。
有一些大型的互联网企业,既推出了浏览器,也推出了搜索引擎,而且名字通常都是类似的:
谷歌公司,推出了谷歌浏览器(Chrome),也推出了谷歌搜索引擎(Google 搜索)
百度公司,推出了百度浏览器,也推出了百度搜索
Yandex 公司,推出了 Yandex 浏览器,也有 Yandex 搜索
DuckDuckGo,推出了 DuckDuckGo 浏览器,也有 D