最近的数据显示,Chrome在2020年4月的市场份额达到了70%左右,把微软的Edge和Firefox远远甩在身后,毫无疑问,Chrome赢得了第二次游览器之战,成为新一代王者。

Chrome的第一版于2008年推出,当时微软的IE浏览器几乎占到了60%的份额,Firefox紧随其后,占据了大概30%,Chrome在2008年仅占0.3%

十年以后Chrome就主导了浏览器的市场, 这一切是怎么发生的?

我们先来回顾一下第一次浏览器之战,交战的双方是Netscape的Navigator浏览器和微软的IE, Netscape占据着先发优势,IE则背靠Windows这棵大树,双方你来我往,战事极为精彩,竞争带来了技术进步,像JavaScript、DHTML、CSS、XMLHttpRequest等各种技术层出不穷。

IE4成为这场战争的转折点,因为它被集成到了Windows当中, 开箱即用,免费,谁还会去额外下载安装收费的Netscape呢?

Netscape从此溃不成军,IE赢得了最后的胜利,从这张图中可以清楚地看出IE和Netscape之间此消彼长的势头。

IE的胜利也结束了Web浏览器的快速创新,早期的IE是积极进取的,比如AJAX的基石XMLHttpRequest就是IE率先提出来,并且发扬光大的。

可是一旦垄断形成,微软就不思进取,不想更新了,2001年微软发布IE6以后,在长达5年的时间里,IE居然没有新版本发布!

很多年轻的程序员没有经历过被IE支配的“恐惧”,那个时候开发网页,必须要保证在IE6上能够运行,否则你绝对活不了。巅峰时期IE6曾经达到过90%多的恐怖占有率, 很多国企,内部系统都是基于IE6。

虽然Netscape的浏览器战败,却没有因为死亡,Netscape把Navigator的代码开源,捐给了非盈利的Mozilla基金会。在这里Netscape几经辗转,终于在2004年涅槃重生,变身为著名的Firefox。

我现在还记得第一次看到FireFox时的感受:非常轻薄!速度飞快!作为开发人员,我迅速就抛弃了老旧不堪的IE, 把Firefox作为主力的浏览器。

Firefox也不负众望,在此后的几年中稳步上升,到2009年达到了30%多的占有率,隐隐有成为下一个霸主的潜质。

可是另外一个可怕的对手出现了,Google在2008年推出了一个叫做Chrome的浏览器,这个时候iPhone上市不到一年,Windows7刚刚面世,IE依然是最流行的浏览器。

但是Google却看到了不一样的东西,它们认为现在的互联网和10几年前大不相同了,原来只是web pages,现在到处是applications,而浏览器的本质却没有变化。Google觉得自己有责任改变, 这几幅漫画讲述了Google要推出Chrome的根本原因:

此时的Web已经进入Web2.0时代,像Google Map和GMail这样的应用迫切需要浏览器能够快速地装载页面,快速地执行JavaScript。

Google下定决心,从零开始设计一个满足现代Web应用的浏览器, 浏览器不仅仅是一个浏览网页的工具,而是一个新的平台,在此之上可以在线完成各种事情,这种深刻的洞察力将给Google Chrome带来极大的成功

Google给新浏览器定下的目标是:稳定,快速,安全,好用,开源。财大气粗的它组建了一支豪华团队来开发Chrome , 并且从Firefox挖走了好几员干将,如Ben Goodger,这可是Firefox的主力开发。

与IE和Firefox相比,Chrome的一大优势就是抛弃了遗留代码的包袱,从头开始设计,开发人员可以尽情地施展才华,他们带来了两个重要的创新:

1. 在很早的时候就确定下了“沙箱”的机制:每个Tab页都运行在自己的进程中,互不影响,充分利用多核。

2. 开发了强劲的JavaScript执行引擎 V8,让Web应用迅速地执行JavaScript代码。

2008年9月,Chrome推出Beta版,9个月后,即获得3000万用户

2009年12月,推出扩展程序库,让用户安装第三方插件,生态迅速繁荣。

2010年,推出Web 应用商店。

2012年2月,Chrome发布了Android版本, 6月推出iOS版本,此时市场份额达到30%以上

2013年,为了对第三方的恶意扩展程序进行控制,Google要求所有的扩展必须托管在应用商店中

......

一系列措施让Chrome迅速蚕食了Firefox和IE的市场,从这幅图可以清晰地看出IE(蓝色线条)的没落和Chrome(绿色线条)的崛起。

微软岂会就此认输?在这段时间内相继推出IE7, IE8, IE9,IE10 , IE 11, 但是遗留的包袱让它步履维艰,它那缓慢的速度经常成为大家调侃的对象:

到了Windows 10 ,微软另起炉灶,推出新的浏览器Edge,但也难挽败局。

微软新CEO纳德拉上台以后,一反原来封闭的形象,拥抱开源。2018年底,微软宣布将会采用Google开源的Chromium为核心来构建Edge浏览器,从此Microsoft Edge和Google Chrome算是同源了,以后发展如何,我们拭目以待。

Chome登上王位以后,对Google带来了巨大的好处,因为Google本身提供了很多极为Web的服务:GMail, Google Map , Youtube, Google Gocs, Google Earth....  现在Google把浏览器端和服务器端都掌握了,那修改一下中间的协议也不算什么了,对用户来说,反正背后的协议也看不到,只要能变快就行。

Google可以用Chrome试验各种新协议,于是我们看到它对HTTP1.1动手,做了一个叫做SPDY协议的实验,非常成功,成为了HTTP 2的基础。然后又对传输层协议开刀,搞出了一个新的传输层协议QUIC,解决了TCP了诸多问题,有望把TCP给替换掉。基于QUIC,新的HTTP协议,即HTTP/3正在制定当中。

尾声

Chrome的成功主要是因为Google深刻的洞察力,他们看到了Web未来的趋势,迅速推出产品拥抱了这种趋势。

Chrome如今占据了和当年的IE6一样的主导地位, 一些批评声音出现了,The verge有一篇报道说Google的很多Web应用都提倡“使用Chrome浏览效果最佳”, “Google Meet、Allo、YouTube TV、Google Earth 和 YouTube Studio Beta 都会阻止 Windows 10 系统的默认浏览器 Microsoft Edge 访问它们,并指引用户下载 Chrome 浏览器” ,“使用非Chrome浏览器访问google.com会被提醒三次下载Chrome。”

Chrome最终会走向何方?你觉得Chrome会像IE那样停滞不前吗?

参考资料:

https://en.wikipedia.org/wiki/Browser_wars

https://usefyi.com/chrome-history/

https://www.theverge.com/2018/1/4/16805216/google-chrome-only-sites-internet-explorer-6-web-standards

https://www.google.com/googlebooks/chrome/big_00.html

更多精彩文章,尽在码农翻身

微服务把我坑了

如何降低程序员的工资?

程序员,你得选准跑路的时间!

两年,我学会了所有的编程语言!

一直CRUD,一直996,我烦透了,我要转型

字节码万岁!

上帝托梦给我说:一切皆文件

Javascript: 一个屌丝的逆袭

Node.js :我只需要一个店小二

我是一个线程

TCP/IP之大明邮差

一个故事讲完Https

CPU 阿甘

从0到70%:Chrome上位揭秘!的更多相关文章

  1. python爬虫抓取中国最好大学排名1 清华大学 北京 94.0 100.0 97.70% 清华大学 2 北京大学

    import requests from bs4 import BeautifulSoup import bs4.element r=requests.get("http://www.zui ...

  2. 根据User Agent参数的各个字段Mozilla/5.0/4.0-AppleWebKit/Chrome/Safari/Firefox/Opera/MSIE来确定/判断客户端使用什么浏览器

    下面给你一一解答以及给你介绍: //Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/533.21.1 (KHTML, like ...

  3. Dynamics CRM9.0更新了Chrome后菜单按钮变形

    前段时间Chorme更新后Dynamics CRM9.0的系统菜单样式变的很难看 具体修改方法如下: 找到Dynamics CRM安装目录C:\Program Files\Microsoft Dyna ...

  4. Selenium对浏览器支持的版本【2019/10/25更新】

    最新的selenium与几种常用浏览器的版本兼容情况:(以下驱动,点击直接跳转官方下载地址) 尽量选择最新版本-1的浏览器,比如最新的是60,那就使用59.(建议Chrome更新至72+版本.Fire ...

  5. google chrome浏览器 程序无法启动并行配置不正确

    启动电脑后打开chrome弹出如下信息: 系统:win7 进入chrome的安装路径 C:\Program Files (x86)\Google\Chrome\Application 两个版本文件夹, ...

  6. 【原创】原来你竟然是这样的Chrome?!Firefox笑而不语

    书接上文 上一篇文章<[原创]用事实说话,Firefox 的性能是 Chrome 的 2 倍,Edge 的 4 倍,IE11 的 6 倍!>,我们对比了不同浏览器下FineUIPro一个页 ...

  7. C# extract multiples from web pages based on OpenQA.Selenium.Chrome and ChromeDriver

    1.Install latest Chrome,Selenium.WebDriver, ChromeDriver Selenium.WebDriver 3.141.0; Selenium.WebDri ...

  8. JavaScript深入浅出第5课:Chrome是如何成功的?

    摘要: Chrome改变世界. <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一 ...

  9. js导出execl 兼容ie Chrome Firefox各种主流浏览器(js export execl)

    第一种导出table布局的表格 1 <html> 2 3 <head> 4 <meta charset="utf-8"> 5 <scrip ...

随机推荐

  1. 201771010128王玉兰《面向对象程序设计(Java)》课程学习总结

    1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: ...

  2. WordPress获取某个分类关联的标签

    我在WordPress后台某篇文章的编辑页面,给这篇文章选择了分类:WordPress,接着同时选择了标签:php.主题制作,这时分类(WordPress)就与标签(php.主题制作)建立了关联,利用 ...

  3. Msql 给结果拼接字符串

    SELECT CONCAT("内容:",info)AS info FROM 表名;

  4. Go 包管理中的常见问题

    随处可见的GO111MODULE=on 在GitHub上,经常看到不少项目的readme里都有这么一句: ✗ GO111MODULE=on go get golang.org/x/tools/gopl ...

  5. Spring基础之AOP

    一.AOP能解决什么问题 业务层每个service都要管理事务,在每个service中单独写事务,就会产生很多重复性的代码,而且修改事务时,需要修改源码,不利于维护.为此,把横向重复的代码,纵向抽取形 ...

  6. [COCOS2DX-LUA]0-003.根据COCOS2DX热更新

    一.最近有需求就是要基于COCOS2DX-LUA进行游戏的增量更新,找了资料,发现了COCOS2DX有自带一个热更新的类,就是AssetsManager,但是该接口对于我来说有以下的缺陷 1.版本号在 ...

  7. Linux显示行号设置

    linux显示行号设置 第一步,打开vim vi ~/.vimrc 第二步,在该文件中加入一行,命令如下: set nu # 显示行号 set nonu # 不显示行号 微信公众号:喵哥解说 公众号介 ...

  8. 善意的投票&小M的作物 题解

    善意的投票: 因为只有\(2\)种意愿,不妨让想睡午觉的和源点连边,让不想睡午觉的和汇点连边.对于每一对好朋友,在他们之间连边.那么只要源点和汇点还联通,就存在一对好友是冲突的,我们现在要做的就是删去 ...

  9. RocketMQ安装及入门

    本文是作者原创,版权归作者所有.若要转载,请注明出处. 本文RocketMQ版本为rocketmq-all-4.7.0,系统为win10.请各位去官网下载,也可以留言,我发安装包 RocketMQ安装 ...

  10. 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(一)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...