浏览器的发展

813 阅读7分钟

搜寻事物背后的那些故事,可能才会让你看清它的本质。 ———— 本人观点

前言:作为程序员,了解浏览器的历史有用么?本人认为,虽说程序员是靠手艺吃饭的,但技术是会不断迭代变化的,每当出现一种新技术、 新概念、新框架,你不可能再从头学一遍(脑子就那么大,难道要把它塞爆么-_-!)。当然了,面对新事物,学是必要的,但若了解一下你所用技术背后的那些故事(历史),或许你会有不同的体会和发现,这个可能才是最本质的东西。


时间节点

  1. 1990年,万维网之父 Tim Berners-Lee 开发出第一个浏览器 WorldWideWeb,后改名为 Nexus (避免和 the World Wide Web 重名)。1993年4月30日,公布源码,1994年停止开发。
  2. 1991年,4个芬兰学生开发 Erwise,1992年4月, 第一个图形界面浏览器 Erwise 发布,同年8月公布源码。
  3. 1992年4月, Pei-Yuan Wei 发布第一个支持 Viola 脚本、样式表、表格的浏览器 ViolaWWWViola Home Page
  4. 1992年底, Marc Andreessen 领导团队开发出第一个被广泛使用的浏览器 Mosaic,1993年发布,1997年7月7日停止开发。
  5. 1993年,Marc Andreessen 毕业后同另外两人重写 Mosaic,后命名为Netscape Navigator
  6. 1994年,Opera 作为一个研究项目被启动。
  7. 1995年8月16日,微软发布 IE,第一次浏览器大战开始。
  8. 1996年,Opera 2.10发布。
  9. 1997年,IE 采用 Trident 渲染引擎。
  10. 1998年,网景为了挽回浏览器大战的失败局面,成立 Mozilla 基金会。于1997年开始开发的 Gecko 渲染引擎一同被开源。
  11. 1998年,苹果参与 KDE 开源社区发起的渲染引擎KHTML项目。
  12. 2001年,苹果因和 KDE 社区的分歧,创建 KHTML 分支— Webkit。
  13. 2002年,Mozilla 以 Phoenix 为项目名创建 Firefox
  14. 2003年1月7日,苹果发布 Safari
  15. 2004年11月9日,Firefox 发布,第二次浏览器大战开始。
  16. 2005年,苹果开源 Webkit。
  17. 2008年,谷歌创建以 Webkit 为内核的 Chromium
  18. 2010年,苹果宣布 Webkit2。
  19. 2013年1月28日,使用新渲染引擎 Presto 的 Opera 发布。
  20. 2013年4月,谷歌因和苹果出现了内核发展分歧,创建 Webkit 分支— Blink。
  21. 2013年5月28日,Opera 内核替换成 Blink。
  22. 2015年,微软放弃 IE,发布 Microsoft Edge
  23. 2017年, Mozilla 宣布了为 Firefox 全新的打造的 Quantum 版本,号称新时代的最快浏览器。
  24. 2017 年 10 月,微软上线了基于 Chromium 的 Android 版 Edge
  25. 2018 年 12 月,微软放弃 EdgeHTML 引擎开发, 桌面版 Edge 直接采用Chromium。

以上是我之前整理的一些浏览器的相关时间节点,然而在准备这篇文章的时候,我又发现了来自维基百科的 浏览器时间线(不为人知的浏览器原来这么多!)。

浏览器的开端——1989 年 3 月 12 日

1989 年 3 月 12 日,Tim Berners-Lee 和 Robert Cailliau 一起向欧洲核子研究组织(简称:CERN)提交了一篇名为《关于信息化管理的建议》(英文: Information Management:A Proposal)的提议。

随后,Tim Berners-Lee 架设了人类历史上第一个网站info.cern.ch,设计并制作了世界上第一个网页浏览器WorldWideWeb

若 Tim Berners-Lee 当时对他的发明申请专利,那他一定会变成世界上最富有的人,因为他的发明已经完全融入了我们的生活,他曾考虑过开公司销售网络浏览器软件,但最后还是决定把他的发明贡献出来。这应该是每一个web开发者都要记住的日子。

浏览器大战

1993年,Marc Andreessen 领导的团队推出了 Mosaic 浏览器(Netscape Navigator 的前身) ,随后创立了Mosaic Communication Corporation,为了避免与 NCSA(National Center for Supercomputing Applications) 发生法律纠葛,公司更名为Netscape Communication Corporation,即网景公司。他领导公司致力于超越 Mosaic 的新一代浏览器的开发,命名为 ”Netscape Navigator”,研发代号:Mozilla(Mozilla = Mosaic + Killer)。

此时,网景浏览器开始普及,并逐渐受到人们的欢迎。

第一次浏览器大战——垄断的形成

1995年,在网景浏览器取得市场绝对主导地位的同时,微软意识到了浏览器的市场地位,在获取Mosaic的授权后,推出了 Internet Explorer 1 ,借助自己操作系统的市场地位,和Windows系统捆绑免费销售,开始抢占浏览器市场。大战一触即发,一直持续到1998年。

这场大战最终以微软成功抢占了网景的浏览器地位为告终。在这场大战中,IE的迭代速度十分迅速,率先打造出了第一款支持CSS的商用浏览器(IE4),让网页的开发各加便捷。Trident、Gecko渲染引擎出现。Mozilla 组织建立。

但残酷的竞争,也带来了一些问题:

  1. 优先增加新功能,而滞后问题的修复速度;
  2. 采用专属格式,不遵从标准;
  3. 为了让更多的网页显示在IE浏览器里,微软在UA上增加“兼容性标识”,UA开始变得越来越混乱;
  4. 残留的兼容问题和bug,给以后的开发者带来了巨大的负担;

第二次浏览器大战——新格局的出现

在接下来的时间里,Netscape 也没有坐以待毙。Mozilla组织的建立,正式为下一代浏览器 Firefox 做准备。但因种种因素影响,搭配全新 Gecko 渲染引擎的 Firefox,直到2004年才正式推出。

再看微软,因为这场胜利,IE 的迭代也开始放慢了脚步。不过这个局面并没有持续太久。

2003年,苹果公司搭配自家的 Mac OS 推出了 Safari浏览器。但受限于 Mac 的用户群体,并没有形成实际的影响。2005年,苹果开源了 Safari 的内核(Webkit,基于KHTML)。

2008年,谷歌以 Webkit 为内核,创建了 Chromium浏览器。同年,面向大众给用户的 Chrome 问世。搭载着自研的 V8 引擎,让 JavaScript 的性能得以提升,受到开发的青睐。2013年,Chromium 团队因 Chromium 与 WebKit2 存在架构上的分歧,决定 开始研发自己的渲染引擎 —— Blink(在Chrome28及往后的版本使用)。

新浏览器、新内核的出现,逐步影响着 IE 的市场,但当微软反应过来的时候,为时已晚,IE 自身的诸多历史问题和新晋浏览器的易用,让这场变化不可逆转。虽然微软在之后几年,开始迭代IE,即使发布了 Microsoft Edge,也已经无济于事。

浏览器“终局”

浏览器内核主要分成:Trident、KHTML、Gecko、WebKit、Presto、Blink、EdgeHTML。

伴随着,Opera 把Presto内核替换成了 Blink,微软转向Chromium(放弃 了EdgeHTML),可见 Chrome 的影响力已经形成。

结语

浏览器发展至今,拥抱标准、提升体验已经是一种公认的趋势。作为开发者,不管你经历了浏览器大战,还是目睹了浏览器逐渐稳定,只要你是历史的经历者,都一定会有自己的体会,这也是自身对技术一种独到见解,十分宝贵。这也是为什么,本人会整理这样一篇文章,技术人在学习技术之余,了解技术的发展脉络,也会精进自身的技术。

希望大家有所收获,下期预告 —— 聊聊浏览器发展过程,产生的那些JS技术(不是一定是下期的标题!)。

相关文章:

Web 诞生 30 周年:比尔盖茨表示祝贺,Web 之父却非常担忧 | 雷锋网

History — WorldWideWeb NeXT Application

浏览器大战 - 维基百科,自由的百科全书

浏览器内核发展历史简述 - RYZZ - 博客园

全面了解浏览器(内核)发展史

小文:浅谈浏览器发展简史 - 掘金

【译】浏览器user-agent的历史 - 掘金

浏览器大全 – 浏览迷