从1990年到今天的Web浏览器引擎历史
很多人尝试过,很少有人留下…
自Chromium兴起以来,浏览器多样性的丧失一直令人深感遗憾。下面的图表显示了浏览器引擎的历史和现状(不是浏览器,而是HTML渲染引擎),以及它们的开发时间。对于较大的发动机,市场份额由彩色形状表示(见图例)。
我们现在已经进入了“第四个统治时代”。NCSA Mosaic在开始时占主导地位第一次统治地位,但被网景(Netscape)短暂地占据了大部分市场份额(第二次统治地位),然后两者都被Internet Explorer(最初使用Spyglass Mosaic的引擎,后来使用Trident)超越(第三次统治地位),然后首先被Firefox(Gecko引擎)削弱,但最终被Chromium(Blink引擎)取代(第四次统治地位)。在活跃和相关的引擎方面,现在只有Blink(Chrome,Edge,Opera,Vivaldi,Brave,Samsung Internet,UC浏览器等等),WebKit(Safari和所有iOS浏览器)和Gecko(Firefox及其分支)。
但你自己看看:
今天幸存的发动机可以分为三类:
一、活跃的引擎,包括实验性的引擎
-
Gecko(Firefox).下降到4%的市场份额,Mozilla管理不善,优先考虑推动其政治而不是改善浏览器。开源
-
Goanna(Pale Moon),旧版Gecko的分支。在0%的市场份额,并始终处于无法赶上谷歌发明的最新网络标准的风险。开源
-
WebKit(Safari),KHTML的一个分支。大约15-20%的市场份额,这要归功于苹果只允许iOS上使用基于WebKit的浏览器的政策。开源
-
Blink,WebKit的一个分支。它是当今占主导地位的引擎,它支撑着Chromium,这是Chrome,Edge,Opera,Brave,Vivaldi,Samsung Internet和大多数其他浏览器的基础; QtWebengine,这是Falcon和Otter浏览器的基础; Android WebView; Windows WebView 2;和Electron,其中Blink用于呈现应用程序的UI。接近80%的市场份额。开源
-
Hubbub,仅在NetSurf中使用,这是一种相当基础的浏览器,不支持HTML 5等高级Web标准。0%的市场份额。开源
-
iBrowse的引擎,可用于Amiga OS,似乎也是一个基本的浏览器,没有完整的Web标准支持。0%的市场份额。闭源
-
Servo,这个很有前途的引擎是由Mozilla开发的,Servo引擎的一部分已经被整合到Gecko中。2020年,Mozilla解雇了四分之一的开发人员,其中显然包括整个Servo团队。从那时起,仍然有一些代码提交(可能是业余爱好者),但Servo是否会有未来是值得怀疑的。更新:Servo现在由Linux基金会托管。开源
-
Flow,专注于电视,但似乎是一个很有前途的新来者。不幸的是,它不是开源的,所以很可能该公司将集中在他们的电视利基和流永远不会成为一个真实的竞争对手眨眼。闭源
-
LibWeb是Ladybird和SerenityOS浏览器的引擎。SerenityOS是一个类Unix操作系统,自2018年以来由Andreas Kling从头开始开发。浏览器仍然是相当实验性的,但它仍然很高兴看到另一个竞争者。开源
-
KolibiOS WebView,最初是一个文本浏览器,但随着时间的推移增加了一些基本的格式和图像支持。开源
二、僵尸引擎
Trident (Internet Explorer), while technically Trident will still get security updates until the end of Windows 10 (no date announced), there haven’t been any new features or development of standards support since Edge came out in 2015. Microsoft announced that they will stop supporting Internet Explorer on most versions of Windows in 2022, but engine itself will remain accessible in Edge’s “IE Mode” and hence will still receive security updates if necessary. For the end of life, see here. Closed source
-
Trident(Internet Explorer),虽然从技术上讲,Trident在Windows 10结束之前仍将获得安全更新(没有公布日期),但自2015年Edge问世以来,没有任何新功能或标准支持的开发。微软宣布,他们将在2022年停止在大多数版本的Windows上支持Internet Explorer,但引擎本身仍将在Edge的“IE模式”下访问,因此在必要时仍将收到安全更新。 生命的尽头,看这里。 闭源
-
EdgeHTML,主要是因为它在Legacy Edge中的使用而闻名,后者在2020年被更新的基于Chromium的Edge所取代。旧版Edge已于2021年4月通过Windows Update强制删除,但微软确认,EdgeHTML引擎仍将受到安全更新的支持,因为它也用于Windows UWP应用程序中的内置WebView(已被基于Blink的WebView 2取代,但不会自动取代)。闭源
KHTML (Konqueror), the ancestor of WebKit and Blink. Konqueror itself never got more than 0% market share, and developed has de facto stopped since about 2016, although there are still (trivial) commits to the code until today. Open source -
KHTML(Konqueror),WebKit和Blink的祖先。Konqueror本身从未获得超过0%的市场份额,并且自2016年以来实际上已经停止开发,尽管直到今天仍然有(微不足道的)代码提交。开源
-
Presto(Opera Mini).该引擎在Opera中使用,直到版本12(2013)。该公司放弃了开发自己的引擎,并创建了一个基于Blink的新浏览器,谷歌和Opera在同一年从WebKit中派生出来。Opera Mini是移动的浏览器之一,它仍然在基本手机(例如基于Java的手机)上使用服务器端Presto渲染,但该应用程序自2014年以来一直没有更新,但仍然可以下载。在Android上,Opera Mini在选择“Extreme”数据节省模式时使用服务器端Presto渲染。根据一篇博客文章,Presto引擎的最后一次更新是在2015年,但考虑到它在某种程度上仍在Opera Mini中使用,因此代码可能仍在某种程度上得到维护。封闭源代码(但源代码已泄露)
-
U2(UC浏览器)。此引擎用于旧版本的UC浏览器。目前尚不清楚它在多大程度上被使用;它似乎仍在基本手机的应用程序中使用,像Opera Mini这样的应用程序自2014年以来一直没有更新,但仍然可以下载。此外,过去版本的Android似乎包括一个可选的“速度模式”,将恢复到U2渲染,而不是闪烁渲染,但这一功能似乎是缺席的Android现在。闭源
-
Arachne,这个基本的浏览器只支持最基本的HTML和CSS。它并没有真正处于积极的发展中,但碰巧每隔几年就会进行一次小的更新。开源
-
Dillo,基本浏览器仅用于简单网站。虽然上一个稳定版本是在2015年,但此后有更多的提交,该项目尚未正式死亡。还有Dillo Forks正在开发中。开源
-
Cobra.这个引擎用在Lobo浏览器中,用Java编写。网站正在建设中,请联系网站管理员。我不清楚这个引擎和浏览器的状态是什么,也不清楚它是活的还是死的。所以才变成僵尸。开源
三、文本浏览器
- Lynx 开源
- Links 开源
- w3m 开源
四、嵌入式渲染引擎
-
Sciter. 用于渲染应用程序的UI。没有浏览器使用Sciter来显示网站,并且引擎是封闭源代码的。闭源
-
Ultralight. 超轻WebKit的软分叉,旨在成为Electron(Chromium)应用程序的轻量级替代品。开源
-
MS Word。这是Microsoft Office中使用的引擎,包括使用它渲染HTML电子邮件的Outlook。没有浏览器使用Word引擎来显示网站。闭源
-
Prince,这是一个HTML/CSS引擎,用于将HTML转换为PDF的商业产品。没有浏览器使用此引擎来显示网站。闭源
Satori. This is a HTML/CSS engine used used to converts HTML into SVGs. There’s no browser using this engine to display websites. Open source -
Satori. 这是一个HTML/CSS引擎,用于将HTML转换为SVG。没有浏览器使用此引擎来显示网站。开源
-
Chinese Blink variants,外面的信息很少。似乎有腾讯的X5,用于WeChat和某些版本的QQ浏览器,以及百度的“baiduboxapp”(手机搜索应用程序?)使用的T7,两者都是封闭源。其他中国引擎包括UC的U3和百度的T5,这两个引擎现在似乎都死了。所有这些都是基于Blink的,目前还不清楚它们实际上有多大的不同,或者它们只是Blink的重新命名,或者是一种CCP批准的Blink bastardization,或者是添加了有用功能的真实的分支。
五、其他问题
一些问题仍然存在,如果任何人可以帮助与信息,这将是非常感谢。
- Netscape是基于NCSA Mosaic的引擎吗?
不,根据:Clark,Jim; Owen Edwards(1999).网景时代:挑战微软的亿万美元创业公司的诞生北京:人民出版社. ISBN 978-0312199340。“Mosaic Netscape浏览器没有使用任何NCSA Mosaic代码”,维基百科引用。 https://archive.org/details/netscapetimemaki00clar
Was Spyglass Mosaic’s engine (used also in IE 1-3) based on NCSA Mosaic’s engine? - 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的三叉戟引擎是完全从零开始开发的。
- Presto(Opera 7-12)是基于Elektra(Opera 3.5-6)的吗?Elektra是基于最初的Opera引擎吗?
我假设是的,但证据是虚假的:在 http://www.blooberry.com/indexdot/history/opera.htm 中,它使用了Opera 7的“渲染引擎重写(现在称为“Presto”)”。这使得Presto似乎只是一个重写,而不是一个完全从头开始编写的新引擎。多年前,艾丽卡也可能是如此。
- iBrowse的引擎是基于Mosaic的吗?
维基百科说iBrowse是一个“重写的后续”的Amiga版本的NCSA马赛克,通过贝丁森,垫(1996年11月)。浏览器之战,iBrowse 1.0。CU Amiga 81号。EMAP。pp. 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。