Web 开发人员在过去 10 年中学到了什么

即使 Microsoft 也认为现在是 Internet Explorer 6 日薄西山的时候了,我们能从它 10 年的辉煌历程中学到什么呢? 2002 年,IE6 是事实上的目标浏览器;到了 2011 年,每个仍在安装 IE6 的用户都是 Web 开发人员的痛苦,是进一步创新的障碍。<0}

3 代之后,Internet Explorer 9 几乎是一个全新的开始。与其他现代浏览器(如 Firefox 和 Chrome)一样,IE9 也采用了各种新技术,如提供了更令人激动,更具互动性,更具互用性的 web 前景的 HTML5。但IE9 也在很多方面借鉴了 IE6 的经验。IE9 改正了 IE6 的不善之处,包括遵循标准实现各种新技术

关于 IE6 失败之处的简史是这样的。IE6 采用了像 CSS2 这种其规范尚在发展之中的技术,那时如何实现规范的各个元素,甚至哪些元素应该实现还没有形成共识(这一点在 2002 年 CSS 2.1 引入之前一直不清晰)。那时,作为 XP 的默认浏览器,IE6 在整个 Web 的地位得到确立,尤其是在企业。由于 Web 用户升级缓慢,IE6 常年保持巨大的市场份额,使 Web 开发人员无法忽略或忽视它的特性。

没有人(至少是 Web 开发人员)希望下一代浏览器重演这一历史。

标准规范

把早期岁月的 IE6 和最新的现代浏览器进行比较特别有趣,因为Web 在 2011 年着力转向一套新的通用技术,很像 2001 年时那样。在 2001 年,这个转向是从基于表格的布局到 CSS。今天我们为基于 HTML5 和 CSS3 创建丰富的、动态的 Web 应用前景而欢欣鼓舞。

HTML5 的视频和音频标签允许网站嵌入可直接在浏览器中播放的富媒体,而无需任何插件。HTML5 的 canvas 标签支持位图, SVG 支持矢量图,同样,这些都在浏览器内完成。这些特性和 CSS 的高级样式以及通用的 JavaScript,意味着 Web 开发人员应该能够创建一个令人兴奋的互动性网站,并有理由相信它们在任何现代浏览器内都能正常工作。

因为 CSS2,IE6 在一个尚不成熟的规范上下了个赌注。那些实现停滞了下来。只要有大量客户端仍安装了这一浏览器,就注定给开发人员造成令人头痛的兼容性问题。尽管多数现代浏览器是基于标准的,但浏览器生产商对于何时实现它们有不同的意见。IE6 的历史是反对过早实现的有力证据。

自动升级不是一个替代方案

一旦一个浏览器如野马脱缰,就无法再拉回来。浏览器(web 技术同样如此)会停滞下来。它们会在企业内驻留下来,在那里管理层想要掌控何种软件在运行。设备制造商也可能选择不更新软件。一个很好的例子是 Android 手机。Google 已经发布 3.0 版本的 Android,但是绝大多数用户仍在使用 2.1 和 2.2,并且不清楚这些用户是否会有升级的一天。随着 HTML5 以更长的升级周期扩展到更多的设备(如电视、手机、汽车和电子产品)上,问题会变得更糟糕。消费者的期望把支持多种应用的重担放在开发人员身上。

推动 Web 向前

浏览器和网站在有如鸡生蛋蛋生鸡的新 Web 技术进程中扮演着各自的角色,但是一个流行的浏览器如果沿着一条错误的道路开始,不良影响会落到整个 Web 上的网站上。一个浏览器的使用越广泛,它走向新技术时就越需要谨慎。

提供了丰富内容而无需插件或扩展的 HTML5 正在取得进展,但它仍是一系列规范的集合。HTML5 和相关的规范覆盖了很大的范围,从矢量图到位图,到音频,再到浏览器内的存储都提供有各种技术规范。所有这些规范的成熟度并不相同,有些稳定下来了,而随着 HTML5 向全面 W3C 方案前进,其他的几乎肯定会发生变化。

在 IE9 上 Microsoft 已经避免了先实现,然后再出现各种问题的路线。相反,Microsoft 在 IE9 中包含哪些 HTML5 技术方面是有选择性的,只选择那些它认为已测试过并且是稳定的技术。这些技术包括 canvas、SVG、地理位置定位技术,以及音频及视频元素。IE9 也支持一系列的 CSS3 特性

浏览器生产商也可以选择包括不那么稳定的规范,如 FileAPI、IndexedDB 和WebSockets。这样做很有诱惑力,因为他们可以声称其产品是第一个实现这些技术的浏览器。但这同样使这些实现进入无法驾驭的境地,有可能被企业和不断增加的除 PC 之外的消费电子产品(如手机和平板电脑)拒之门外。

消费者在 IE9 中得到了稳定的标准,但 Web 开发人员仍需访问 Microsoft 标准草案的稍早实现。Microsoft 通过 HTML5 Labs 提供了原型,这是一个用于测试和检查早期或不稳定规范的网站。撰写这篇文章时有两种 HTML5 原型:IndexedDB 和 WebSockets,但这家公司希望能够提供实现了其他标准的原型。您可在 MSDN 了解这方面的更多内容。

这种在稳定的实现(在浏览器中)和不太稳定的实现(在原型中)之间泾渭分明的分界可能可以很好地工作,但只有等到它们都成熟之后新技术才能从原型进入到浏览器中。如果在浏览器中实现原型的技术方面让人等得太久,Web 的潜能会被限制。只有时间能告诉我们会如何发展。

IE6 的启示

回顾 IE6 的历史为 Google、Mozilla 和 Microsoft 等浏览器生产商提供了一些宝贵的教训:

• 教训1:浏览器进展停滞(即使有自动升级也是如此)
• 教训 2:浏览器必须符合各种 Web 标准
• 教训 3:浏览器应在稳定和不稳定的技术之间实现某种平衡,将消费者牢记于心

Web 开发人员在选择何时在他们的网站上实现新技术时应牢记这些教训。HTML5 标准具有创建令人惊奇的 web 体验的潜能,但当开发人员信心满满地针对成熟的规范进行开发时,在部署不那么稳定的规范前必须进行评估和试验。

您可以在 W3C 了解更多关于 HTML5 技术的内容。要使用最新出现的 HTML5 技术,请访问 HTML5 Labs

作者:Steve Apiki

转至 http://msdn.microsoft.com/zh-cn/ie/hh377905

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值