logo头像

为学日益,为道日损

浏览器发展历史

本文于1121天之前发表,文中内容可能已经过时。

浏览器发展

作为访问internet的工具,浏览器已经成为我们日常生活中必不可少的上网工具了,它能你加入全球的网络,通过一个窗口就能够连接世界。当你用浏览器是有没有想过浏览器的发展历史?面对市场上繁多的浏览器你又为什么偏爱你现在用的?

chrome

 来自Net Market Share的统计数据显示,2015年8月IE浏览器仍然占据全球浏览器排行榜首位,总市场份额为52.17%,与7月的53.47%相比继续下降;Chrome浏览器排名第二位,最新市场份额为29.49%,和2015年7月份市占率数据27.66%相比也有小幅增长;Firefox火狐浏览器以11.68%的市场份额位 居第三位,7月份的市场份额为12%,稍有下降。

2015年8月全球不同浏览器市场占有率统计(数据来自Net Market Share)

而来自StatCounter的数据表明chrome浏览器已经排名第一,StartCounter的数据之所以和Net Market Share有很大的差别,据说是因为弱化了中国使用浏览器的数据。

2015年8月全球不同浏览器市场占有率统计(数据来自StatCounter)

chrome是google于2008年9月发布的一款浏览器,以其“快速、简单、安全”的特点在短短几年占领份额第一。除了chrome,目前主流的浏览器还有IE,Firefox,Safari和Opera,国内的有遨游,世界之窗,搜狗浏览器,360安全浏览器,QQ浏览器、猎豹浏览器等。

起源

要说浏览器的历史,要从1994年开始,那一年网景通信公司推出了代号为“网景导航者”的网景浏览器1.0,随后迭代版本迅速占领浏览器大部分份额。这公司一看浏览器业务这么好,那干脆试着做一个操作系统得了,微软意识到网景通讯公司对其操作系统和应用市场的威胁,立马收购另外一家浏览器公司,在其基础上开发了Internet Explorer,微软的操作系统和IE浏览器捆绑销售,想想当时的场景,安装一个微软的操作系统没有浏览器,还需要再花钱买一张网景浏览器软件安装在电脑上才能上网,尽管网景浏览器很好用,但这样也很麻烦。微软操作系统中直接带有浏览器,试问还有谁愿意去在花钱买个浏览器软件?所以IE立马占领了浏览器市场。1998年1月,网景与微软IE浏览器竞争失利以后,为了挽回市场,网景通信公司公布旗下所有软件以后的版本皆为免费,并开放网景浏览器的源代码,成立了非正式组织Mozilla,自此Mozilla浏览器开始登上舞台。可惜的是尽管Mozilla、opera浏览器很好用,可微软操作系统的市场占有率很大,造成其他浏览器的市场份额一直不变。IE坐在份额第一的头把交椅后,却一直不思进取,自己制作一套web标准,也不怎么支持html,javascript,css这些web技术的新版本特性,微软从ie6开始到ie8七八年间几乎没对浏览器做什么革新,大家都适应了IE,什么补丁、不安全、崩溃也不在意,也觉得浏览器就该如此。可现实就是这么捉摸不定,变幻莫测,2008年chrome横空出世。界面简洁、加载快速、数据安全等这些特点让chrome的市场份额逐步攀升。当微软意识到chrome开始逐步侵蚀自己的市场时,开始频繁更新IE,2011年IE9发布,2012年IE10发布,2013年IE11发布,最后IE的代码实在适应不了新的要求的web技术,就重新开发了一个名为”edge”的浏览器用来取代IE,但还是挡不住chrome成为市场份额第一的命运。在IE横行的那一段时间为了适应IE中国的大多数常用网站也不大符合互联网标准,也就是说如果用符合互联网标准的浏览器去解析这些网站,反而会不正常显示,可见IE坐头把交椅的这几年,却一直在误导和阻挠互联网的发展,悲哉啊。在此要向那些不断创新、不断完善、不断接纳新web技术的浏览器公司,面对IE他们的市场份额不高,却仍然坚持着不断前进。

国产浏览器起源

自从chrome浏览器出现后,就出现了很多国产浏览器,这是后话,其实国产浏览器的起源于IE,一位网名为changyou(畅游)的程序员于1999年在论坛上发布一款叫”MyIE”的浏览器,基于IE,但采用多窗口浏览,占用系统资源比IE6少很多,且有鼠标手势、视觉化书签等功能,后来的中国浏览器MyIE2(后改名Maxthon)、网际畅游(后改名GreenBrowser)与TheWorld(世界之窗)等都是用MyIE的源代码改写完成。这几款浏览器都不是开发MyIE那位维护的,MyIE版本到3.2版本后就再也没有更新过,“畅游”这个人也消失不见了。后来呢遨游成立公司独自运营,TheWorld被360收购变成了360安全浏览器。

悲催的遨游

遨游是极少数支持全平台(Android手机/平板, Mac, iPhone/iPad, Windows Phone 和 Linux)的浏览器,一直坚持底层开发,连续获得三次CNETWebware100大奖,在2010年推出“双核浏览”概念,即一个浏览器拥有Webkit+IE两个内核,用户可以快捷切换,因为大多数网站排版和网上支付大多是在IE的基础上开发的,用新的内核根本没法正常浏览或使用,这算是对中国大多数被IE毒害的网站的一种妥协。但是可悲的是几乎在同一时间搜狗浏览器也推出“双核”概念,但不同的是搜狗拥有chromium+IE两个双核。chromium是google基于webkit开发的一款开源浏览器,加上商标它就是chrome浏览器,这样一来搜狗就相当于站在google的肩膀上,相比遨游自主开发可是省劲的多。后来“双核”几乎成了国产浏览器的标配,遨游的“双核”也就不再成为核心竞争力,反而因为要维护自主开发的webkit内核,变得步履缓慢,再加上有全球的开发者为chrome web store开发chrome插件,这些插件可以直接用在chromium引擎上,基于chromium的其他国产浏览器可以不费力气的利用了这个浏览器插件市场,由此看来遨游的未来堪忧,此处再次感慨世事变幻莫测,一声长叹。

chromium

下面说说国产浏览器近几年一下子为什么会这么多的原因,首先大家都认识到浏览器是互联网的入口,是推广自家产品的最佳工具,如果大家都用了我的浏览器,那我在浏览器的显要位置放上自己的产品岂不是很容易,其次google创建了一个开源浏览器引擎Chromium项目,这样一来做一个简单、快速、安全的浏览器就很容易,为什么不做呢!那chromium是个什么鬼?

Chromium 是 Google 的chrome浏览器背后的引擎,其目的是为了创建一个安全、稳定和快速的通用浏览器,使用Chromium开源代码(基于webkit内核)的浏览器有360极速浏览器、枫树浏览器、太阳花浏览器、世界之窗极速版、UC浏览器电脑版、搜狗高速浏览器和qq浏览器等。
google一直坚持开源这个态度,Chromium和android一样开源的同时快速迭代产品,从而混乱现有格局,态度是好的,结果也不赖,一举两得。

Chrome OS

google估计对操作系统这块一直不甘心,身为一个和微软、苹果并肩的互联网公司,看着windows和Mac在那斗来斗去没自己什么事儿实在尴尬。但操作系统开源的有linux,商业的有windows,Mac,自己如何做一个放眼未来与众不同的PC操作系统呢?chrome浏览器这么成功,要不弄一个chrome os吧。chrome os基于linux内核设计,可以理解为在Linux的内核上运行一个使用新的窗口系统的Chrome浏览器,也就是说这个操作系统中除了驱动只有一个chrome浏览器,google把目标定位在了上网本,因为是基于“云概念”,所以办公和文件全部储存在云端,这样电脑可以省去硬盘等一部分硬件,从而降低售价。同时2010年google发布了chrome os并开放源代码,准备来android,chrome的老套路,2010年下半年google联合几大电脑厂商开始销售上网本。可惜的是上网本受同年乔帮主发布的iPad影响,从2010年到2012年两年间市场被压榨的所剩无几,chrome os至今没有个像样的业绩,连自家另外一个产品android也不得不跳着版本针对平板做大更新。时间表如下:

时间表

  • 2007年 华硕率先凭借EeePC产品开创了上网本概念。
  • 2010年1月27日 苹果发布iPad。
  • 2010年12月8日 谷歌发布上网本操作系统chrome os 新系统的口号是,“一切皆在网络”(Nothing but the web)。
  • 2011年2月2日 发布Honeycomb(蜂巢)3.0版本,主要针对平板优化。
  • 2012年 上网本受平板电脑影响市场无人问津。

PC浏览器内核

常见的浏览器内核有一下几个,几个…

  • 1997年 Trident
  • 1998年 KHTML
  • 2000年 Gecko
  • 2001年 WebKit
  • 2003年 Presto
  • 2008年 Chromium
  • 2010年 混合引擎(双核)
  • 2013年 Blink
  • 2015年 EdgeHTML

关于浏览器内核此处介绍的非常详细不再详述,在此只介绍几个有趣的事情,先上家谱。

家谱

WebKit

维基百科这样介绍webkit:

KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的Gecko引擎小。苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的派生产品,在开发网站列出引擎改变内容,并会传回至KDE计划。由于两个派生产品各走不同路线,使两者源代码偏离,在与KDE交换更新会出现困难[1] 。其中一个原因,是苹果在对外公开源代码之前,以一年时间编修他们的KHTML。另外,苹果发送更新至KDE计划的方式,多是一口气把大量改动一起发送,KDE在整理数据也出现一定的困难,及后苹果表示会以CVS格式来发送[2] 。再者,苹果所作出的改动包括Mac OS X系统独有的事物,如Objective-C、KWQ等,在Linux及KHTML是没有的[3] 。但KDE方面仍通过这些改动,为KHTML加入新功能及加快其排版速度。

简明扼要的说就是:公司A有一个中央代码库,公司A下面的子公司B从中央代码库中check out了一份代码后自己倒腾了一年把代码全部上传了,导致公司A要花费大量的时间进行代码审核和合并,你要是公司A的程序员,你受得了么?当然受不了!于是公司A的程序员开始骂公司B的程序员,最后公司A与公司B就决裂了,公司B的代码不再提交给公司A,而是自己建立了中央代码库把代码上传这个库中。

上面说了公司B自己建立一个代码库,另外一家公司C觉得代码不错,于是也check out了公司B的代码进行修改,公司C并没有像公司B一样过了一年才上传自己的代码,他经常上传,上传率甚至达到50%,可比较鬼祟的是,公司C写了一套牛逼的多进程架构就是不上传,搞得公司B很无奈,结果双方开始掐架,结果是双方都不愿意为了竞争对手写代码,于是公司B新创建代码库webkit2,而公司C呢也另起炉灶创建了代码库Blink。

这几家公司虽然对开源KHTML起到很大的推动作用,但又考虑到自己家产品的保密和竞争力而对开源忽远忽近,最终都无疾而终,不禁再次感叹。

双核

现在国内出个浏览器都要标榜自己简洁、快速、安全,其实完全人家chromium的特性,你check out了人家的代码换了套皮肤而已,国产浏览器该说了,我们还有个特性呢,对了在三大特性的基础上还有一个标配,那就是“双核”。

为什么会有双核?

鉴于国内的环境,网银和IE内核的关系将长期存在,但是又忍不住webkit的诱惑,所以,才有了双核,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。

为什么几乎全都基于chromium?

内核不好开发,Apple都不敢自己弄,拿了KHTML回来改。Google也不敢自己弄,拿了WebKit回来改。Opera自己弄了,然后扔了。IE修修补补,终于决定扔了再写一个。

以 Google 员工为主的 Chromium 团队在该项目上做了大量的技术创新。像 DNS Prefetch、SPDY、QUIC、预渲染、多进程架构、PPAPI、v8 JavaScript 引擎等都是很好的技术创新例子。

移动浏览器内核

  • webkit
  • Chromium
  • U3内核
  • x5内核

故事

智能移动端发展历史相对于PC很短,所以没有IE,opera这些元老级浏览器内核,移动端浏览器是从webkit开始的,2005年,诺基亚公司的S60团队成为手机端WebKit的先驱,他们将WebKit框架移植到了Symbian S60平台,作为S60第三版的浏览器内核。2007年6月29日,iPhone上市,WebKit通过Safari浏览器进入iOS平台,而且立即成为当时iOS平台唯一的排版引擎。 2008年10月22日Chrome Lite浏览器内置在android中。所有的智能手机清一色的选择了webkit,也证明了KDE和苹果公司对webkit的贡献很大。有趣的事情在android操作系统中发生了,android原生网页视图WebView也是基于Webkit,chrome浏览器开发团队当初听取android开发团队的意见也选择了webkit,个人觉得当时他们就商量好了,那就是chrome后续开发的成果会用在android上。所以直到android 4.4为止,android上的webview组件都被人吐槽,速度慢、排版差,不得已第三方手机浏览器纷纷研发内核腾讯的x5,UC的U3都是当时的迭代品。而同时chrome则一路高歌不断占领浏览器市场,期间chrome Lite只是作为android的内置浏览器,2013年9月android发布的android4.4终于把原本基于Android WebKit的WebView实现换成基于Chromium的WebView实现,从此基于Chromium的WebView实现成为了Android系统上的缺省实现方式。伺候如果chromium用新的内核blink,android自然也会跟进,而最终chrome os和android会走在一起,不分你我。

浏览器的未来

浏览器内核是否会统一?

别想了,洗洗睡吧。

浏览器内核是否会跟进web技术?

尽管不会统一,但他们都会支持web新技术、也会随着硬件发展而不断优化,不会再出现IE时代的悲剧了。

主要会有哪几个浏览器内核?

  • google,opera拥抱的blink
  • 苹果公司拥抱的webkit
  • 微软的edgeHtml
  • 火狐的servo

资料

微信打赏