微软决定不会在 IE9 的开发中加入实验型的早期 web 技术,这个角色由 HTML5 labs 来担任,这是一个测试例如 IndexedDB 和 WebSockets 例如 IndexedDB 和 WebSockets 这类技术原型的网站。
Christopher Blizzard,一个 Mozilla 的开源理念传播网站,宣布 WebSockets 的早期实现版本在 Firefox 4 Beta 8 中被禁用, 这是由于一个协议层的安全问题隐患可能危及浏览器和 Internet 之间的通信。Adam Barth 解释了这样的溢出漏洞是如何生成的。Firefox 4 Beta 7 中搭载的是 WebSockets 草案 76 版的实现,Blizzard 提到了在这个安全隐患消除之后,Firefox 将会继续使用这项技术。
看 起来 WebSockets 的问题并不是个例,这种情况发生在每一项不断变化的早期标准中,直到这些标准变得稳定。但是这种情况会使得开发者感到困惑并且不 满,尤其是当他们认识到这项标准是如此的善变,而且也会考虑当前的实现版本也许并不会用在最终的标准实现中。为了避免这种问题,微软决定 IE9 中仅仅在包 含那些已经足够成熟足够稳定的 web 技术,而且创建了 HTML5 Labs 这样测试技术原型的网站。这次,微软不再将它在新标准上的工作完全地隐藏起来,而是让任何一名感兴趣的开发者都可以看到微软正在做些什么,目前为止进度如何,是否能够提供反馈并且影响浏览器的开发,Dean Hachamovitch,IE 小组的经理,解释了创建这样一个原型网站的原因:
在 IE9 中,开发者希望的是已经稳定的 HTML5 技术,这样他们不仅能够更好地利用已经成熟的 HTML5,而且能够在 HTML5 Labs 中使用早期的 HTML5 技术。将这些技术分开,开发者可以在同一浏览器中混合使用不同的东西,而不会产生副作用。
Hachamovitch 强调提供一个稳定的产品并且有一个渠道供开发者尝试新技术是多么的重要:
问题是这些正在构建的技术实现版本如何在开发者需求(他们不希望一遍又一遍地重写代码来获取新的功能)和客户需求(他们不希望站点和浏览器仅仅能够工作)中取得平衡。现在, iPhone 和 iPad 4.2 支持 WebSockets。而 Firefox 和 Opera 出于安全和兼容性的考虑,禁用了这个实现。
现在,HTML5 Labs 包含了 IndexedDB 和 WebSockets 。IndexeDB 现在仍是一个 Web 标准草案,这是一个面向仅存储简单数据和层级对象的数据库的 API,这种数据库实现上来看即是 key-value 数据库。IndexedDB 希望能够为 JavaScript 提供本地浏览器存储。另外一个原型是 WebSockets,这是一个浏览器和服务器之间提供双工通信的协议。这个协议旨在提供HTTP 作为通信信道缺失的功能,以及一些需要替代的技术,例如 long polling(Comet)或者 AJAX 。
如果需要使用原型技术,开发者需要手动下载并且安装它,可以通过注册 DLL 文件或者运行 MSI 文件。WebSockets 原型有一个简单的聊天demo ,能够在IE9 Beta 和Chrome 下面运行的很好,它支持在不同的标签和窗口中畅聊。
查看英文原文: HTML5 Labs–A Website for Prototyping New Web Technologies
评论