许多尝试,少数留存…
自Chromium崛起以来,浏览器多样性的丧失一直备受哀叹。下面你可以看到一个图表,展示了历史上和当前的浏览器引擎(不是浏览器,而是HTML渲染引擎),以及它们的开发时间。对于较大的引擎,市场份额由彩色形状表示(见图例)。
我们现在已深入到“第四个统治时代”。NCSA Mosaic在开始时占主导地位(第一统治),但被Netscape取代,后者短暂地占据了大部分市场份额(第二统治),然后两者都被Internet Explorer(最初使用Spyglass Mosaic的引擎,后来是Trident)所取代(第三统治),最后被Firefox(Gecko引擎)削弱,最终被Chromium(Blink引擎)取代(第四统治)。在活跃和相关的引擎中,现在只有Blink(Chrome、Edge、Opera、Vivaldi、Brave、Samsung Internet、UC Browser等)、WebKit(Safari和所有iOS浏览器)和Gecko(Firefox及其分支)。
但你自己看看:
今天存活的引擎可以分为三组:
1. 活跃的引擎,包括实验性的
- Gecko(Firefox)。市场份额下降到4%,由Mozilla管理不善,它优先推动其政治而非改进浏览器。开源
- Goanna(Pale Moon),旧版Gecko的一个分支。市场份额为0%,总是有不跟上Google发明的最新网络标准的风险。开源
- WebKit(Safari),KHTML的一个分支。由于苹果只允许在iOS上使用基于WebKit的浏览器的政策,市场份额约为15-20%。开源
- Blink,WebKit的一个分支。它是当今占主导地位的引擎,它是Chromium的基础,Chromium是Chrome、Edge、Opera、Brave、Vivaldi、Samsung Internet和其他大多数浏览器的基础;QtWebengine,是Falkon和Otter浏览器的基础;Android WebView;Windows WebView 2;以及Electron,Blink用于渲染应用程序的UI。市场份额接近80%。开源
- Hubbub,仅在NetSurf中使用,这是一个相当基本的浏览器,不支持高级网络标准,如HTML 5。市场份额为0%。开源
- iBrowse的引擎,适用于Amiga OS,似乎也是一个基本的浏览器,没有完整的网络标准支持。市场份额为0%。闭源
- Servo。这个有前途的引擎由Mozilla开发,Servo引擎的部分已经被整合到Gecko中。2020年,Mozilla解雇了四分之一的开发者,显然包括整个Servo团队。自那以后仍然有一些代码提交(可能是业余爱好者),但Servo的未来值得怀疑。更新:Servo现在由Linux基金会托管。开源
- Flow,专注于电视,但似乎是一个有前途的新来者。不幸的是,它不是开源的,所以公司可能会专注于他们的电视细分市场,Flow可能永远不会成为Blink的真正竞争对手。闭源
- LibWeb,驱动Ladybird和SerenityOS浏览器的引擎。SerenityOS是由Andreas Kling自2018年以来从头开始开发的类Unix操作系统。浏览器仍然相当实验性,但看到另一个竞争者仍然很棒。开源
- KolibiOS WebView,最初是作为一个文本浏览器开始的,但随着时间的推移增加了一些基本的格式和图像支持。开源
2. 僵尸引擎
- Trident(Internet Explorer),虽然技术上Trident仍然会获得安全更新,直到Windows 10的结束(没有宣布日期),但自从Edge在2015年推出以来,就没有新功能或标准支持的发展。微软宣布他们将在2022年停止支持大多数版本的Windows中的Internet Explorer,但引擎本身将在Edge的“IE模式”中保持可访问,因此如果需要,仍将获得安全更新。查看生命周期结束。 闭源
- EdgeHTML,主要因其在Legacy Edge中的使用而闻名,Legacy Edge在2020年被基于Chromium的新Edge取代。Legacy Edge在2021年4月通过Windows Update被强制删除,但微软确认EdgeHTML引擎仍将获得安全更新支持,因为它也被用于Windows UWP应用程序中的内置WebView(被基于Blink的WebView 2取代,但不是自动替换)。闭源
- KHTML(Konqueror),WebKit和Blink的祖先。Konqueror本身从未获得超过0%的市场份额,并且自2016年以来实际上已经停止开发,尽管直到今天仍然有(微不足道的)代码提交。开源
- Presto(Opera Mini)。这个引擎在Opera中使用直到版本12(2013)。该公司放弃了开发自己的引擎,并创建了一个新的基于Blink的浏览器,这是Google和Opera在同年从WebKit分叉出来的。Opera Mini,移动浏览器之一,仍然在基本手机上使用服务器端Presto渲染(例如基于Java的手机),然而该应用程序自2014年以来就没有更新,但仍然可以下载。在Android上,当选择“极致”数据节省模式时,Opera Mini使用服务器端Presto渲染。根据博客文章,Presto引擎最后一次已知更新是在2015年,但由于它在Opera Mini中仍然有一定程度的使用,代码可能仍然在某种程度上得到维护。闭源(但源代码已泄露)
- U2(UC浏览器)。这个引擎在旧版本的UC浏览器中使用。目前尚不清楚它今天使用的程度;它似乎仍然在基本手机的应用程序中使用,就像Opera Mini一样,自2014年以来没有更新,但仍然可以下载。此外,过去的Android版本似乎包括了一个可选的“速度模式”,该模式会转而使用U2渲染而不是Blink渲染,但这个功能现在似乎在Android中已经不存在了。闭源
- Arachne。这个基本的浏览器只支持最基本的HTML和CSS。它并没有真正在积极开发,但每几年会发生一次小更新。开源
- Dillo。仅适用于简单网站的浏览器。虽然最后一个稳定版本是在2015年,但自那以后有更多的提交,该项目尚未正式死亡。还有Dillo分支在开发中。开源
- Cobra。这个引擎用于Lobo浏览器,用Java编写。网站在线,但没有下载可用,因为网站正在建设中。我不清楚这个引擎和浏览器的状态,以及它是否活着或死了。因此僵尸状态。开源
3. 文本浏览器
- Lynx 开源
- Links 开源
- w3m 开源
4. 嵌入式渲染
- Sciter。用于渲染应用程序的UI。没有浏览器使用Sciter来显示网站,引擎是闭源的。
- Ultralight。WebKit的软分叉,旨在成为Electron(Chromium)的轻量级替代品,用于应用程序。开源
- MS Word。这是Microsoft Office中使用的引擎,包括Outlook,它使用它来渲染HTML电子邮件。没有浏览器使用Word引擎来显示网站。闭源
- Prince。这是一个HTML/CSS引擎,用于商业产品,将HTML转换为PDF。没有浏览器使用这个引擎来显示网站。闭源
- Satori。这是一个HTML/CSS引擎,用于将HTML转换为SVG。没有浏览器使用这个引擎来显示网站。开源
- 中国Blink变体。信息很少。似乎有腾讯的X5,在微信和一些QQ浏览器版本中使用,以及百度的“baiduboxapp”使用的T7(一个手机搜索应用?),两者都是闭源的。其他中国引擎包括UC的U3和百度的T5,似乎现在都死了。所有这些都是基于Blink的,目前还不清楚它们实际上有多大不同,或者它们是否只是Blink的重新品牌,或者是一种经过CCP批准的Blink混杂,或者是一个真正的分叉,增加了有用的功能。
问号
一些问题仍然存在,如果有人能提供信息,将不胜感激。
Netscape是否基于NCSA Mosaic的引擎?
不是,根据:Clark, Jim; Owen Edwards (1999). Netscape Time: The Making of the Billion-Dollar Start-Up That Took on Microsoft. St. Martin's Press. ISBN 978-0312199340. "The Mosaic Netscape web browser did not use any NCSA Mosaic code",通过Wikipedia引用。https://archive.org/details/netscapetimemaki00clar
Spyglass Mosaic的引擎(也用于IE 1-3)是否基于NCSA Mosaic的引擎?
不是,根据:https://ericsink.com/Browser_Wars.html。"是的,我们从NCSA(在伊利诺伊大学)许可了技术和商标,但我们从未使用过任何代码。我们在Windows、MacOS和Unix上完全从头开始编写了我们的浏览器实现。"
Trident(IE 4-11)是否基于Spyglass Mosaic的引擎(IE 1-3)?
我从未找到任何信息,所以我将假设IE 4的Trident引擎是完全从头开始开发的。
Presto(Opera 7-12)是否基于Elektra(Opera 3.5-6),Elektra是否基于原始Opera的引擎?
我假设是的,但证据是模糊的:在http://www.blooberry.com/indexdot/history/opera.htm 中,它使用了“渲染引擎重写(现在称为“Presto”)”的说法,用于Opera 7。这使得Presto看起来只是重写,而不是完全从头开始编写的新引擎。几年前的Elektra可能也是如此。
iBrowse的引擎是否基于Mosaic?
维基百科说iBrowse是Amiga版本的NCSA Mosaic的“重写后续”,通过Bettinson, Mat (1996年11月)。"浏览器之战,iBrowse 1.0"。CU Amiga。第81期。EMAP。第54-56页。像上面的Presto一样,我假设“重写”意味着“不是从头开始”,但这不是很清晰。
僵尸引擎(见上文)是否仍在维护?
对于EdgeHTML,有Windows WebView的问题,与Legacy Edge不同,没有宣布生命周期结束。对于Presto来说,因为Opera Mini仍然以某种程度使用它,但只是通过服务器端渲染,所以代码可能已经多年未动了,情况不清楚。
对于U2,对于UC浏览器也是如此,而不是Opera
对于KHTML,仍然有一些非常小的代码提交(例如更改KDE版本),但对于所有其他意图和目的,Konqueror已经死了
行模式浏览器(最后一次更新在2006年,但在libwww中使用)
那些不知名的中国引擎是什么?至少有U2, U3, X5, T5, 和 T7,但除了U2,它似乎是自己的,其余的似乎都是WebKit/Blink的软分叉或仅仅是重新品牌。它们真的是自己的引擎吗?
晦涩和历史浏览器的开始和结束日期通常是推测性的
市场份额显然很难确定,特别是因为没有一个单一的网站从网络开始就一直在跟踪。顺便说一句,我使用的最新的数字来自StatCounter。