符合W3C的网站的开发模型和必要性的探讨(一)

简介:

互联网是本世纪最伟大的产品,其自由开放的特征符合人类文化的特性,因此互联网产品迅速的走进每一个人的生活中。可以预见的是,将来人们的生活将极度的依赖于与各类互联网产品。因为互联网的开放自由的特性,因此互联网的产品也同时具有标准和自由两种极端的特征,在浏览器上,这两种特征表现的更加明显和重要。

一、浏览器的兼容问题的提出

在早前,微软的IE6浏览器曾经占据了90%强的市场,几乎成为浏览器的标准,在那个时期所有基于浏览器的网站只能唯一的以IE6马首是瞻,依据IE6的特性编写网页时最自然也是最正确的选择。已被Adobe以34亿美元收购的Macromedia公司以其出名的网页三剑客(Macromedia Dreamweaver、Macromedia Fireworks、Macromedia Flash)以可以快速所见即所得的方式编写Web网页而迅速被市场接受。Dreamweaver在当时提供了最为高效有效的用户体验方式进行网页的开发和布局。Dreamweaver以IE6为标准的开发模式在当时Web开发工具的市场上是最正确的选择。

2000年前的互联网仅仅是一些大企业用于技术研究、探讨和高科技技术人员的玩具,还没有真正的走入广群众的生活中。所以1999年12月W3C推出的在后期非常重要的HTML4.01版,但在当时的互联网环境下依然没有得到重视。微软于2001年8月27日发布的IE6中仅兼容了部分CSS1核心,并提出了自己的BOX模型,但对页面的渲染的方式和浏览器行为却冻结在了IE5.5 这个版本。同时Macromedia在1998年大获成功之后,也没有考虑W3C的标准化Web设计,而是将注意力关注到了在线多媒体和适量动画的表现上,于2000年推出Flash5和2001年推出3D Shockwave 。

1.1 浏览器第一次大战

1994年4月4日由Marc Andreessen和Jim Clark共同创立马赛克通信公司以当年10月13日开放并推出Mosaic Netscape浏览器(国内称网景浏览器)。由于当时的市场和技术空白,Netscape的成功令人难以置信,1995年8月9日,公司首次公开募股获得巨大成功。原本股票价值为每股14美元,但因为一个临时的决定,股价被倍增至每股28美元。在第一天收市时,股价升至每股75美元,差不多为当时创记录的首日获利。在1995年,该公司的收入每季上升一倍。

很快这吸引到微软的注意,微软随后发布了Internet Explorer 1.0。这个软件都是随Windows附送的,用户可免费使用(Netscape当时是收费的)。微软更利用该公司其他部门的收入来支援开发 Internet Explorer所需的资金。这个时期现在称为“浏览器大战”。

为了超越对方,当时Netscape和微软都分别在它们的浏览器上加上许多功能,版本号码亦增加得很快。因为拥有专注的人力和财力,Internet Explorer当时是处于上方的。到了3.0版,Internet Explorer在功能上差不多等同于Netscape Communicator,而到4.0版,用户认为Internet Explorer运作上是比较稳定的。在对于Netscape其他的产品,微软亦提供了相对应的免费产品,例如随Windows NT附送的Internet Information Server服务器软件。

当微软的浏览器在进步的同时,Netscape开始犯错不断,公司面对越来越多对它的产品程序错误的批抨。批评者认为Netscape把增加功能的重要性放得很高,但又没有确保那些功能能够正常运作。公众对公司的意见渐趋负面,尤其在1997年第4季和1998年1月的大规模裁员。 AOL(美国在线)在1998年11月24日公布它会以价值42亿美元、免税换股的方式收购Netscape。当AOL发现很难在当时原始码的基础上继续开发Netscape Communicator后,Netscape开始被抛弃,2003年AOL宣布解散Netscape,2008年3月1日ADL宣布起停止开发Netscape Navigator,并停止一切技术支持。AOL在线官方博客说:作为一款曾经改变了整个互联网的浏览器,Netscape浏览器。目前已经寿终正寝,正式退出历史舞台。

这次的浏览器大战,以微软的IE浏览器完胜为标记。不过Netscape Navigator在支持不住的最后时刻,它以Netscape公共许可证(Netscape Public License,简称NPL)发布原始码,这为第二次的浏览器大战埋下了伏笔。

1.2 浏览器第二次大战

第一轮浏览器大战最后以Netscape被收购,Internet Explorer独霸浏览器市场告终。浏览器之战失利以后,Netscape并没有消失,为了挽回市场,1998年Netscape将浏览器的大部分代码开源,成立了一个组织,计划开发下一代的 Netscape浏览器,这个组织就是Mozilla。不过不久后,Netscape的源代码就暴露出很多问题,说明被IE打败的确源自技术落后,所以源代码就差不多被全部抛弃了。

与赢得浏览器大战后就不思进取的IE相比,Mozilla算的上是兢兢业业鞠躬尽瘁,其开始重新编写一套浏览器,该浏览器就是现在的Firefox(火狐)。2002年9月发布了0.1版。在经过多次改名后,最终定名为Mozilla Firefox,于2004年11月9日发布了第一个正式版本Firefox 1.0,当时Mozilla基金会通过募捐的方式,在纽约时报上面刊登了整版的广告,不过, Firefox的推广更多是依靠使用者的口碑式宣传。 Firefox的版本更新非常快而且开放,而且容许第三方插件,因此在技术人员群体中被流传的非常快速,而且由于Mozilla把自己表现的想一个地下抵抗组织,把微软形容成类似希特勒的形象,所以Mozilla在欧洲很多国家的市场占有率已经达到威胁IE龙头地位的水平了。

当世界发现,随着互联网的发展,浏览器不在是微软独家的天下。因此各个微软的对手开始重新审视W3C的标准和规范。并且很多互联网企业开始认真的思考一个问题:谁控制浏览器,谁就控制了互联网入口,谁就控制了互联网。让微软重新拖回到起跑线上的唯一方式就是必须重新组织一场比赛,因此互联网的巨头们开始要求微软重新加入一场新的比赛,这场比赛的规则是以W3C公布的HTML、CSS等位标准的浏览器大赛。

刚开始微软完全不在意这场比赛,然而微软很快的就无奈的发现一个现象,观众们喜欢看比赛,喜欢看运动员在场上竞争,只有微软一个人的T台无人喝彩,而比田径比赛混乱的多的橄榄球比赛现场却是人气沸腾。这次参与比赛的有很多选手:挪威选手opera,Google选手Chrome,老对手Firefox,苹果的Safari,还有来自中国的一群赛手360,TT什么的。

第二次大战虽然参与者很多,但在标准公开的情况下,各浏览器表现的非常正常,以符合W3C规范为概念,以兼容为目标,基本上可以说的上是比赛的算是君子+流氓模式,至少在台前,各浏览器厂商以非常君子的面目进行。第二次大战目前虽然说不上已经结束,但应该说进入了尾声,以微软放弃IE6,推出IE 8 9 为标记。这次没有明显的输赢,所有的浏览器厂商都开始进入以拥抱W3C标准为基础的开发的标准浏览器时间。

1.3 马上要进入的第三次大战

如果说第一次浏览器大战是Microsoft VS Netscape的两人角斗,那么第二次浏览器大战就是一场金顶之上的群雄虎斗,Microsoft可以说是李沉舟,Google可以说的上是萧秋水了。

微软体会到了被群殴的感觉,也知道了拉着标准大旗再无耻也是正义的代表,因此马上要爆发的,或者说已经开始的第三次大战就是微软加入君子流氓的阵营,开始群殴一个已经老去的英雄:Adob。Adob收购了Dreamweaver后,从平面媒体涉及到Web媒体,不过Adobe算是比较知足的公司,这10年来没有在Web设计市场上有太多的野心,但君子怀玉,无罪也诛。Adob拥有了Web页面事实上的多媒体和矢量动画的标准Flash,这样一个宝贝自然是所以其他公司的眼中钉,杀人要讲道理,砍人要有理由,这次君子们的武器还是标准这个不二法门,从目前的情况来看,使用HTML5和javascript实施多媒体在Web上的运载是对付Adobe的利器。而且个人终端的处理能力愈来愈强大,IE9开始支持GPU的运算,看来这次Adob真可能是在劫难逃。Flash也许不需要多久就要被边缘化了。

1.4 浏览器的兼容

目前市面上流行的浏览器有多种,这些浏览器在处理一个相同的页面时,各浏览器厂商的表现或行为有时会有差异。这种差异可能很小,甚至不会被注意到;也可能很大,甚至造成在某个浏览器下无法正常浏览。我们把引起这些差异的问题统称为“浏览器兼容性问题”。因为各品牌浏览器的内核是不同的,不同的内核处理同一段代码的时候思路不同。因此可以说,浏览器间内核的差异是产生兼容性问题的根本原因。

IE6和IE7的“标准模式”在它们推出的年月中是很接近当时的标准的,虽然时过境迁,由于需要重新比赛,所以当时的很多标准不会迁就IE67,所以在现在看来它们已经不够“标准”,所以我们把 IE6 和 IE7 当年的、现在看起来并不足够接近标准的“标准模式”称做 IE6和IE7 的“标准模式”。

中国目前的浏览器大致情况为

l 以表现自己阳春白雪的群体用:Firefox

l 及其热爱和追捧Google的群体用:Chrome

l 大学政府机关由于懒得升级用:IE6

l QQ的粉丝用:TT

l 个人用户中由于盗版从来不升级的用户用:IE6或360安全浏览器

l 一些高端用户用IE7 8.

l 还有用遨游,世界之窗等等。

在中国,这个极具特色的国家中,对中国的Web开发工程师来说,多浏览器的兼容性测试最为头疼,一方面中国是世界上浏览器种类最多的国家,另一方面有超过半数的网民依然在使用非标准的IE6,Web标准迟迟得不到推行,对技术人员的跨浏览器开发能力提出了更高要求。



本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/803142

相关文章
|
29天前
|
前端开发 JavaScript 搜索推荐
对WEB标准以及W3C的理解与认识
对WEB标准以及W3C的理解与认识
39 0
|
6月前
|
XML JavaScript 前端开发
Web标准是一系列由W3C和其他组织制定的规范
【5月更文挑战第26天】Web标准是一系列由W3C和其他组织制定的规范
61 2
|
编解码 前端开发 JavaScript
对WEB标准以及W3C的理解与认识
对WEB标准以及W3C的理解与认识
131 0
|
XML 前端开发 JavaScript
理解web标准、w3c规范
理解web标准、w3c规范
661 0
|
前端开发 JavaScript
Web 标准 & W3C 规范
Web 标准 & W3C 规范
105 0
|
机器学习/深度学习 前端开发 JavaScript
10年Web前端开发工程师,聊聊他眼中的 W3C 规范
在接到邀请在团队分享有关于与 W3C 规范相关的话题时,就我个人而言还是很虚的。虽然从事 Web 前端开发已有近十年,接触 W3C 规范也有多年,但要出来聊与 W3C 规范相关话题,还是没有足够多的信心。在开始写 PPT 之前,我特意咨询了好友,并且参考了她分享的《走进W3C》。虽然对 W3C 没有全面的认识,但我还是想从我个人的角度来看和思考 W3C 规范。希望接下来的分享对初次接触 W3C 或想深入 W3C 的同学有所帮助。
258 0
10年Web前端开发工程师,聊聊他眼中的 W3C 规范
|
Web App开发 安全 API
W3C批准WebAuth作为无密码登录的Web标准
World Wide Web Consortium (W3C) 宣布 Web Authentication API (WebAuthn) 成为正式的 Web 标准。
1755 0
下一篇
无影云桌面