`
feipigwang
  • 浏览: 770027 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

符合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标准迟迟得不到推行,对技术人员的跨浏览器开发能力提出了更高要求。

分享到:
评论

相关推荐

    ie8自动设置 兼容性代码

    本文将深入探讨IE8的文件兼容性代码及其应用,以便开发者能够更好地理解和掌握这一特性。 #### 文件兼容性的必要性 每个主要版本的IE浏览器都旨在提升用户体验、加强安全性能以及更好地遵循行业标准。然而,这种...

    网络传播技术与应用:第8节-网站开发知识及Web前端技术.pdf

    这种架构模式中,用户通过浏览器向服务器发送请求,服务器接收到请求后,通过网站系统(包括前端和后端)处理并返回数据。前端负责用户界面和交互,而后端则处理业务逻辑和数据存储。常见的Web开发流程包括多个环节...

    ie6 大环境下暂时不要考虑w3c标准

    W3C标准,全称为万维网联盟(World Wide Web Consortium)标准,是指导网页开发的一系列规范,旨在确保跨浏览器和跨设备的一致性和互操作性。然而,IE6的不兼容性使得许多基于这些标准的现代网页技术无法在IE6下正常...

    常用开发文档

    《css.chm》是一个专门关于CSS的参考指南,它涵盖了CSS的所有属性、选择器和布局模式。CSS3的引入带来了许多新的特性,如媒体查询、伪类和边框圆角等,这使得网页设计变得更加灵活和富有表现力。 最后,《数学之美....

    镁光DDR FLASH IBIS模型.zip

    总的来说,镁光的DDR FLASH IBIS模型为设计师提供了精确的模拟工具,使得在设计早期就能预测和优化高速数字系统中的信号质量,这对于现代电子产品的成功开发至关重要。正确理解和使用这些模型,不仅可以提高设计效率...

    Web 设计与开发终极资源大全(中).rar

    11. **Web标准与无障碍设计**: 遵循W3C的Web内容可访问性指南(WCAG),确保网站对所有用户,包括残障人士,都是可访问和可用的。 12. **测试与调试**: 学习如何使用浏览器的开发者工具进行调试,理解单元测试、...

    【iWeb峰会】陈本峰:有了BootStrap,为什么还要做Amaze UI

    实际上是在探讨一个在开发领域普遍存在的现象——即便是某个领域有了一些广泛使用的工具,依然有其存在的必要性和市场需求。 Bootstrap框架由于它的灵活性和强大的组件库,已经被很多开发者使用来快速搭建响应式...

    第15章 开发XFire Web Service应用.pdf

    - **灵活性**:支持多种部署模式和服务实现方式。 ##### 15.1.3 MyEclipse的WebService工具简介 MyEclipse是一款流行的Java集成开发环境(IDE),提供了丰富的工具和支持来简化Web服务的开发流程。在MyEclipse中...

    WEB开发 之 XHTML 模块.docx

    XHTML的模块化模型由W3C精心设计,包含了28个不同的模块,每个模块都有特定的功能和应用场景。以下是部分模块的描述: 1. **基础模块(Base Module)**:包含最基本的HTML元素,如`<p>`、`<a>`等,是所有XHTML文档...

    html5 architecture

    移动先行的开发模式强调了为受限设备和分辨率设计的必要性,这迫使开发者创造更加流动性和灵活性的内容。此外,手机的硬件特性如加速度计和地理位置服务也带来了新的商机,例如利用这些特性发展增强现实(Augmented ...

    基于XML的数据处理基础支撑技术及应用

    XML Schema是W3C的一个推荐标准,旨在为XML文档提供一种更为强大和灵活的结构定义机制。相比于早期的DTD(Document Type Definition),XML Schema提供了更丰富的数据类型支持以及更加严格的文档结构约束能力,从而...

    可用实例

    6. **渐进增强和优雅降级策略**: 这两种设计和开发策略可以帮助确保即使在不支持最新技术的浏览器中,网站也能提供基本功能。 7. **响应式设计**: 如果涉及到的是响应式布局,那么可能需要了解如何用CSS Media ...

    data-transfer-project,数据传输项目使得人们可以很容易地在在线服务提供商之间传输数据。我们正在建立一个共同的框架,包括数据模型和协议,以便能够直接将数据传输到参与的在线服务提供商之间。.zip

    这个项目的核心目标是构建一个通用的框架,它包括数据模型和传输协议,以便用户可以无缝、高效且安全地转移他们的个人数据。下面我们将深入探讨DTP的相关知识点。 1. **数据模型**:在DTP中,数据模型是定义不同...

    gc-7.2.tar.gz

    在本篇中,我们将深入探讨GC-7.2在W3M安装和配置过程中的必要性及其重要功能。 W3M是一款开源的文本模式网页浏览器,能够在终端环境下运行,为用户提供浏览网页的能力。在配置W3M时,确保其正常运行并达到理想的...

    学习高级点的html选什么书好.docx

    "精通CSS"是一本经典之作,它深入探讨了CSS的工作原理和布局技巧,包括盒模型、浮动、定位等。同时,"CSS实战手册"则提供了大量实用的代码示例,帮助你在实际项目中应用所学知识。这两本书结合阅读,可以让你的CSS...

    XML的二十个热点问题

    XML,即可扩展标记语言(Extensible Markup Language),是由万维网联盟(W3C)在1998年制定的规范,旨在提供一种描述数据结构的通用语法。与HTML相比,XML更注重数据的语义和结构,而非展示方式。下面我们将详细...

    HTML和CSS网页标准指南

    对于初学者,学习和理解W3C标准至关重要,因为这确保了代码的兼容性和可访问性。同时,了解浏览器的前缀(如`-webkit-`,`-moz-`,`-ms-`)对于支持不同浏览器的特性也是必要的。 总的来说,HTML和CSS是网页开发的...

    XML 高级编程02 全面讨论xml编程

    此外,XML文档还必须符合W3C制定的XML规范,包括文档类型定义(DTD)或XML Schema,用来验证文档的结构和内容是否合法。 在高级编程中,我们可能会接触到命名空间(Namespaces),这是解决元素名称冲突的一个关键...

    SSH整合所需的JAR包-2

    `xerces-2.6.2.jar`是一个XML解析器,它实现了W3C的DOM、SAX和XML Schema规范。在处理XML配置文件,如Hibernate的映射文件或Spring的配置文件时,Xerces可以解析并加载这些文件。 `poi-3.0.1.jar`是Apache POI项目...

Global site tag (gtag.js) - Google Analytics