从0到70%:Chrome上位揭秘!
最近的数据显示,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
更多精彩文章,尽在码农翻身
从0到70%:Chrome上位揭秘!的更多相关文章
- python爬虫抓取中国最好大学排名1 清华大学 北京 94.0 100.0 97.70% 清华大学 2 北京大学
import requests from bs4 import BeautifulSoup import bs4.element r=requests.get("http://www.zui ...
- 根据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 ...
- Dynamics CRM9.0更新了Chrome后菜单按钮变形
前段时间Chorme更新后Dynamics CRM9.0的系统菜单样式变的很难看 具体修改方法如下: 找到Dynamics CRM安装目录C:\Program Files\Microsoft Dyna ...
- Selenium对浏览器支持的版本【2019/10/25更新】
最新的selenium与几种常用浏览器的版本兼容情况:(以下驱动,点击直接跳转官方下载地址) 尽量选择最新版本-1的浏览器,比如最新的是60,那就使用59.(建议Chrome更新至72+版本.Fire ...
- google chrome浏览器 程序无法启动并行配置不正确
启动电脑后打开chrome弹出如下信息: 系统:win7 进入chrome的安装路径 C:\Program Files (x86)\Google\Chrome\Application 两个版本文件夹, ...
- 【原创】原来你竟然是这样的Chrome?!Firefox笑而不语
书接上文 上一篇文章<[原创]用事实说话,Firefox 的性能是 Chrome 的 2 倍,Edge 的 4 倍,IE11 的 6 倍!>,我们对比了不同浏览器下FineUIPro一个页 ...
- 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 ...
- JavaScript深入浅出第5课:Chrome是如何成功的?
摘要: Chrome改变世界. <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一 ...
- js导出execl 兼容ie Chrome Firefox各种主流浏览器(js export execl)
第一种导出table布局的表格 1 <html> 2 3 <head> 4 <meta charset="utf-8"> 5 <scrip ...
随机推荐
- iOS私有api检测工具使用
背景:这两天提审了一款新的APP,由于项目中使用了老版本的TZImagePicker中访问了私有API,导致提审失败. 预审经验分享: https://baijiahao.baidu.com/s?id ...
- 【JVM】GC 可达性分析中哪些算是GC ROOT?
至今为止,我基本上发现网上没有几个博客说的很明白的,今天我在这里斗胆总结一下,各位大佬,如有错误,还望指责 ^ _ ^ 首先那肯定还得是看看概念了,在JVM中,什么可以作为GC Root呢? 虚拟机栈 ...
- Java的每个Thread都希望拥有自己的名称
一. 介绍 平时工作中可能会碰到排查多线程的bug,而在排查的时候,如果线程(单个线程或者是线程池的线程)没有一个比较明确的名称,那么在排查的时候就比较头疼,因为排查问题首先需要找出“问题线程”,如果 ...
- 【python爬虫】scrapy入门2--自定义item
items.py class LianhezaobaospyderItem(scrapy.Item): # define the fields for your item here like: # n ...
- 公众号使用微信sdk的正确姿势
当我们做微信登录授权,微信公众号的分享,微信的h5支付等等等等的时候难免会用到微信sdk,当我们用react或vue做的spa应用,直接引入后会发现,在按安卓上可以正常调试,而ios上一直报签名错误( ...
- Python的自定义属性访问跟描述器以及ORM模型的简单介绍
一 . 自定义属性访问 1.__getattr__ 作用:当我们访问属性的时候,如果属性不存在(出现AttrError),该方法会被触发. 2.__getattribute__ 作用:访问属性的时候, ...
- 0515项目优化和List集合
0515项目优化和List集合 1. 项目优化 1.1 分析当前情况 问题 数据存储是数组形式,数据类型明确.复用度较低. 需求 Student操作使用的代码,StudentManager想要操作考虑 ...
- js解析MarkDown语法
1.问题描述: 我们使用MarkDown编辑器之后,比如我们写的MarkDown的语法是: # 一级标题 ## 二级标题 ### 三级标题 这种语法我们最终要转换成HTML的格式最终要存入数据库 ...
- 如何同时关联多个远程仓库,实现一次 push 多站提交(github + gitee)
这两天做了简陋轮子,主要想放到npm上, Github: canvas-components Gitee: canvas-components github 上一份,gitee 上一份.(走过路过,s ...
- secureCRT连接liunx(centos6.5)系统步骤以及碰见的问题
1.首先安装secureCRT以及用vmware安装centos6.5系统,用vmware打开centos6.5系统 2.找到liunx系统的ip,在liunx终端用ifconfig找到ip如下图: ...