前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么要使用现代浏览器?

为什么要使用现代浏览器?

作者头像
ThoughtWorks
发布2018-04-18 10:44:49
1.2K0
发布2018-04-18 10:44:49
举报
文章被收录于专栏:ThoughtWorksThoughtWorks

标题中所提及的 现代浏览器 主要指桌面浏览器也就是PC端所使用的浏览器软件,移动端(手机和平板电脑)所使用的浏览器我们暂且认为其已经属于现代浏览器范畴(虽然也有很多不尽如人意之处,后续文章会详细叙述)所以按下不表。

正文开始前先上几张图和数据,以便大家对国内浏览器占有率有个直观感受,图片和数据均来源于CNZZ

注:本报表数据自2009年01月开始统计

根据CNZZ数据中心对国内主流浏览器的统计分析,2013年5月,IE浏览器市场份额有所波动。总体上讲,使用率环比4月份呈现增长趋势,使用率从4月份的47.01%增至49.03%,涨幅达到了2.02%,占有率趋势恰好相反,由4月份的46.32%降至45.51%,同4月相比下降了0.81%。IE浏览器中,从使用率来看,IE7、IE8份额与4月份相比有所增长,而IE6、IE9市场份额呈现下降趋势;从占有率来看,IE7呈现增长趋势,而IE6、IE8、IE9份额与4月份相比有所下降。 2013年5月,除IE浏览器以外,其他浏览器市场份额有所波动。从浏览器使用率来看,大部分浏览器与4月份环比都呈现下降趋势,其中360安全、360极速、搜狗浏览器下降幅度较为明显,而Safari、猎豹浏览器依然持续增长趋势;从浏览器占有率来看,Safari、Chrome、猎豹与4月份环比呈现增长趋势,而360安全、360极速、搜狗、傲游、QQ趋势恰好相反,其他浏览器份额变化不大。

使用篇

我从1997年开始接触互联网,当时个人电脑贵的要死动辄上万,但是一些比较人性化的 国产电脑专卖店 (是的,当时就是有这么一个高端大气上档次的名词) 诸如长城、方正、海尔甚至还有长岭(就是长岭阿里斯顿也就是产电冰箱的那个公司,因为我第一台个人PC就是这个牌子所以印象相当深刻)在卖场里摆放着数台PC供人们把玩,如果你交钱的话(貌似是8块钱一小时)还可以在专卖店里享受着空调和免费饮品的待遇上网,估计这就是早年间网吧的雏形,当时的ISP(因特网服务提供商)叫做瀛海威时空,用户通过电话线拨号上网,那会压根没有什么浏览器的概念,上网用的都是一水儿的IE4.0/IE5.0(其实早在94年Netscape Navigator浏览器就已经在国外远远超越了IE,但是当时国内消息闭塞所以没什么人用),开一个页面要等老半天,还没怎么”冲浪”瞬间一小时就过去了,然后我会掏出仅剩的8元钱非常潇洒地说:“再续一个小时!”其实心里在滴血……

一年之后我终于拥有了自己的电脑,并且死乞白赖央求我父母办理了家中拨号上网,结束了在专卖店掏钱上网还要看人白眼的苦日子,这个时候windows95已经逐渐退出舞台,取而代之的是铺天盖地的臭名昭著的windows98,随着上网经验增多我知道了用来上网的这个蓝色的”e”的学名叫做——浏览器,并且还有版本的区分。

随着时间的推移,我开始对当时的IE感到不满:每看一个网页要么就刷新之后取代了原先的网页,或者弹出一个新窗口,导致本来就不大的显示器密密麻麻全是新窗口,而那个时候出现了一款拉风的浏览器叫做遨游(Maxthon,也有人叫马桶),它支持多Tab浏览网页并且只有一个窗口显示当前Tab的内容,还支持自定义皮肤什么的,基于这些优点我一直用Maxthon直到2005年左右。

浏览器这个东西的发展其实非常迅速,当然主要的推手是互联网的发展,我印象中国内从06年(06年我刚好也开始工作)之后就开始慢慢出现各种浏览器软件(其实早在04年Mozilla基金会就已经借由募捐的方式发布了Firefox 1.0,在纽约时报上刊登了整版的广告),而 WEB2.0 概念开始普及之后普通的页面(类似早期的hao123)早已不能入大众法眼,网页上开始加入大量特效以增强用户体验加强网站粘性,中古时期的浏览器根本无法承受如此消耗内存和CPU占用率的花哨页面,于是部分理念比较先进的国人开始尝试在国外早已流行至一塌糊涂的Firefox(火狐)浏览器(下文用FF代替),想当初我从IE系(老版本的Maxthon其实也采用的是IE内核)切换到FF的时候,那酸爽!真叫人无法相信!呃,错了,应该是那快速和清爽的感觉,真叫人无法相信!一直到Chrome的出现,FF始终占据着浏览器并且排行绑的第二把交椅,第一当然还是万恶的IE,Google是一家非常有野心也有把野心变为现实的能力的公司,Chrome的出现就是很好的证明,数个版本迭代之后从界面到启动速度再到浏览器内核又到javascript引擎都将FF甩开了几百个IE6/7/8(FF和Chrome的差距并不大,可见IE6、7、8有多么烂!M$有多么守旧!哈哈!开个玩笑,M$还是不错的,FF每次发布新版本M$都会送个蛋糕过去意思意思)。

近些年随着国内互联网公司的崛起(以百度、腾讯、阿里巴巴、360为首),各家公司为了以自己的平台为入口瓜分我等网民口袋里的银子也纷纷推出了自己的浏览器,其实都是旧瓶装新酒,用Webkit和Gecko还有Trident等等国外的网页排版引擎(就是前文所说的浏览器引擎)为核心,外面再包装一层自己开发的界面就当做一个新浏览器推出,其中在国内市场占有率极高的xx安全/急速浏览器就是个典型例子,这种做法本身无可厚非因为上述浏览器内核基本都是开源的,但是某数字公司的做法是将旗下的浏览器与自家的xx卫士捆绑在一起,xx卫士与xx浏览器在用户上网时狼狈为奸丧尽天良干了些很下作的勾当,其它国内的浏览器也普遍都有些猫腻由此还引发了前阵子的各种口水战,感兴趣的可以去国内知名安全论坛看雪(链接我就不放了)瞧瞧,有很详尽的对这一大坨浏览器偷摸行为(诸如窃取用户隐私数据之类)的分析,所以为了能够畅快淋漓地使用淘宝、流畅地玩网页游戏、安全地访问各种xx网站、体验最新的HTML5、CSS3、ECMAScript6的新特性,姑娘们和小伙子们,请放弃使用IE6、7、8以及打着各种口号和旗帜的国内浏览器吧,你会觉得安全、放松以及极致的快速,从此进入无障碍浏览网页的新时代!

放图一张展示浏览器历史和发展以及占有率

图片2
图片2

开发篇

如果对网页开发没兴趣的以下内容就可以跳过了,不过现在连平面模特和影视明星还有运动员都开始学习网站开发和网页开发,以后网页开发会成为连小盆友都会的技能,所以我觉得看看也无伤大雅。

06年我开始接触网页开发,从最基础的HTML、CSS、JavasScript写起,期间还给FF和Chrome做各种浏览器插件一直到现在前端工程师成为一个正式的职位,可以说对现代浏览器的迅速发展感到欣慰,同时也很头疼,欣慰的是现代浏览器已经不仅仅是浏览器,对于开发人员而言现代浏览器已经是一个开发平台;头疼的是对于这么多种浏览器,浏览器兼容性 已经成为一个非常棘手的大~~~~~~问题!

浏览器兼容性问题,又被称为网页兼容性问题,意思是一个网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题。如果没法统一一个页面在各个浏览器下的展现形式保持一致,就无法给用户以最好的浏览体验。我们知道一个网页的主要组成部分是HTML、css以及javascript,其中HTML负责页面层级结构,css控制页面展现样式,javascript则肩负网页和用户交互的部分,而由于各个浏览器使用的排版引擎不同(上文已经说过)、javascript引擎实现的标准也不同,所以才会出现兼容性问题,从而导致一个没有经过兼容性处理的页面在IE6、7、8、9、10、11,Chorme、FireFox、Safari、Opera等浏览器上展现出的样子和交互行为都不一致甚至会报错。

对于本文所提及的现代浏览器:Chrome、Firefox、Safari、Opera,IE10+,先暂且算上IE9(其实IE9也不能真正属于标准的现代浏览器),几乎没有兼容性问题,因为这几种浏览器的内核和javascript引擎都遵循WEB标准,包括W3C组织以及WHATAG组织指定的各种规范(关于WEB标准组织之争是另一个话题,感兴趣的可以google一下,关键字W3C WHATAG HTML5),只不过各家浏览器在实现时都不是完全按照标准实现,而是做了一些小改动,所以前端工程师主要面对的就是IE6、7、8这三位大爷,因为实现这仨货的M$工程师当初并没有遵循W3C标准,而是自己搞了一套标准,所以如果需要兼容这些中古时代的浏览器,前端工程师不得不花费大量的心血进行研究和改动,一个经验较少的前端甚至有可能在完成整个页面之后为了对付浏览器兼容性问题彻底改掉之前的代码,并且,最重要的是许多灰常牛x的交互效果和动画效果在这些古老的浏览器上根本无法支持,举个小栗子:IE6不支持position:fixed,所以只靠css没法实现浏览网页时右侧始终有一个”回到顶部”按钮,当然有人说可以用css表达式实现啊,但是众所周知css表达式的性能实在是呵呵,因此只能靠js实现,对于一个稍微有点追求的前端工程师来讲绝对是件沮丧透顶的事!再举个栗子:CSS3已经走进了千家万户,用它实现的动画效果已经可以媲美已经夕阳西下的flash,但是当你做出一个超级棒的动画时,这时候客户/项目经理/产品经理/运营/销售对你说:“呵呵,咱们应该支持低版本的IE浏览器啊,你看,咱们还有接近50%的用户在用IE6、7、8呢,呵呵!” 这时候前端在想什么?前端神马都没想,只有心中几千万头草泥马呼啸而过……

浏览器兼容性对于开发人员伤害之深、危害之广已经到了刻不容缓的地步,有志于做前端开发或者设计师的童鞋们,在学校机房上课、在星巴克喝咖啡时、在飞机上、在火车上甚至在家里,如果看到有人在用那几种浏览器,请及时制止他们并且推荐现代先进的浏览器给他们使用,如果他们不用————那就算了 - -!,迟早他们会为此后悔,因为我们欣喜的看到国内的互联网公司已经开始和国际接轨,有的加入了W3C组织,有的已经开始不支持中古浏览器,有的在对网页做平稳退化,固执地不使用现代浏览器的人终将会被互联网所淘汰。

前面讲过,现代浏览器对于开发人员来讲已经不仅仅是浏览器,而是一个开发平台,百花齐放的浏览器插件使前端开发和调试不再成为难事,FF有firebug插件、Chrome有Web Developer Tools,而在最激进的Chrome Canary版本,可以通过开启各种实验性质的选项进行开发,Canvas和websocket这种新特性在Canary里面就是小儿科,你甚至可以使用WebGL和RTC做一个体感的3D版切水果游戏,这一切都不再属于硬件厂商的专利,普通开发人员一样可以做到。

想说的还有很多,但是已经很晚,以后在聊吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2013-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 思特沃克 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用篇
  • 开发篇
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档