触摸“后速度时代”的 Internet Explorer 10

  • InfoQ 中文站

2012 年 12 月 11 日

话题:JavaScriptHTML5语言 & 开发

说到浏览器,恐怕大多数用户的第一联想就是 Internet Explorer(下文简称 IE)和蓝色的 e 字图标。1996 年随 Windows 95 捆绑的 IE3 应该是许多用户的互联网启蒙导师。随着 IE 版本的更迭,原本相对稳定的浏览器市场也产生了巨大的变化。自 2004 年起,Firefox、Google Chrome 等强有力的竞争对手陆续出现在浏览器市场,以速度(页面渲染速度和 Javascript 执行效率)为主要竞争点,迅速攫取大量市场份额,形成了三足鼎立的态势。为应对日益严峻的竞争,IE 在 7.0 开始的版本里加入了对 HTML5、CSS3 等新兴技术的支持,并且在 IE 9 中使用了大幅度改进的 Javascript 引擎,并高调引入了全局化的 GPU 加速,用 PC 显卡的强大火力支持网页渲染,使配置平常的 PC 在浏览内容复杂的“巨型”网页时也能够有较好的体验。

以速度为核心的竞争虽然看似风起云涌,却总难免有谢幕的一天。决定网页展现速度的因素大概有 3 个,用户的接入带宽,用户的处理器、显卡配置,以及浏览器本身的页面渲染效率。在这 3 个环节中,浏览器开发商即便有万般本事,也不可能用魔法将用户的带宽自动翻倍,或者对用户的处理器进行大幅度超频,只能通过优化浏览器本身以图改进。软件优化工作最初可能立竿见影,但是当优化程度已经到了非常接近完美的今天,再想取得明显的改善就非常困难。到了 IE9 时代,主流浏览器的页面展示速度虽然在理论值上仍然存在高下之分,实际上却已经很难用肉眼观测出显著区别。浏览器行业中的各个竞争对手固然可以继续高喊“速度至上”的口号,靠纸面上以微秒计算的细微差别继续争上几年,但明眼人都能看出,这种纯理论上的竞争对用户基本没有意义。当一条路已走到尽头,就到了寻找变通、制造新的竞争点的时候。2007 年,英特尔公司发现处理器的频率之争基本已经达到极限,于是毅然决定切换技术路线,转攻低频高效,为奔腾时代画上了句号,同时揭开了酷睿王朝的开端。目前的浏览器市场也正处在相同的局面,需要转变竞争点,方可继续焕发活力。

而微软的 IE 团队认为,这个新的竞争点就是对触摸操作的支持。虽然近年来众多科技媒体一直在吹捧“后 PC 时代”的概念,实际上平板电脑和智能手机等新兴移动计算平台依旧只是 PC 的简单延伸,而非取代产品。许多需要大计算量、大尺寸屏幕的任务仍然是 PC 的专属,而平板电脑通过 PC(Mac 在广义上讲也是一种 PC)进行内容同步更是如同空气和饮水一样必不可少的日常操作。面对 PC 和移动设备这两个看似相同,实际上又处于割裂状态的双子平台,一些浏览器厂商选择将自身品牌进行相应的分裂,针对移动设备和 PC 分别推出产品:PC 版本功能全面,但基本设计上循规蹈矩;移动版本支持触摸操作,但为相对孱弱的 CPU 牺牲了 Flash 视频和浏览器插件等高级功能。

然而微软不这么想。Windows 8 操作系统的发布正式开始了“三屏一云”的时代。仅仅一个月之间,市场上已经出现了多种多样的 Windows 8 触屏一体机、触屏超极本、平板电脑,乃至可以在平板电脑和超极本之间随意转换形态的“变形本”等。上述新型设备的用户们使用的都是同样的 Windows 8(及其移动版 Windows RT),浏览器都是完全相同的 IE10。这也就意味着 IE10 必须成为一款能够应付一切使用场景的浏览器,在键盘鼠标的操作下必须表现优异,在触摸屏上也同样要游刃有余。可以说这是时代对浏览器的挑战:随着 PC 和移动设备之间界线的不断模糊,对不同硬件平台的适应性迟早将成为每一家浏览器厂商必须面对的问题。

IE 团队认为,这个转变的关键点就是对触摸的支持。毕竟经过十余年的发展,键盘鼠标模式下的浏览器模式已经完全成熟,不需要任何改良,让原本为 PC 设计的浏览器完美适应触摸操作才是攻关难点。于是 IE10 应运而生。为了适应平板电脑和触屏超极本,IE 10 在新推出的“Modern”模式中做了一系列从界面到功能的改变,最大程度上保证触屏操作的用户体验:

· 将 IE 浏览器的一切菜单隐藏,将屏幕上的每一个像素留给页面本身。

· 通过在屏幕边缘的滑动操作呼出隐藏的标签切换菜单和地址栏,其中浏览器标签采用大尺寸缩略图显示,更加直观,而且避免误触。

· 提供地址联想和自动完成功能,用户在输入网址的同时可以得到输入提示,方便选择收藏夹内的网站,以及近期曾访问过的网页。地址联想的结果也以大图标显示。

· 浏览器窗口中支持多点触摸操作,而且同时支持 10 个触摸点,为 web 应用开发者们打开了高复杂度游戏以及定制化触控手势的大门。

· 支持拖曳、缩放等标准化的触控手势。

· 对分页显示的大数据量网页(如搜索引擎的结果列表页)提供额外便利支持。用户无需反复对屏幕下方的页码进行放大和点击的操作。如果 IE 10 发现目前页面具有明显的翻页特征,用户直接将目前的页面向屏幕左边拖动即可翻至下一页,反之则回到上一页。

在此基础上,从 IE9 开始引入的高效 Javascript 引擎和硬件加速依旧保留,而且在原基础上得到了大幅度改进。IE10 的竞争重点并非“市场中理论上最快的浏览器”,而是“速度和竞争对手差不多、但最适合触摸操作的浏览器”。在微软的倡导下,游戏界巨头 Atari 已经利用 IE10 的硬件加速和触摸支持,使用 HTML5 技术搭建了名为“Atari Arcade”的在线游戏网页,以网页的形式重新构建了 8 款经典街机游戏,并实现了原本仅能通过本地应用达成的声光和图形效果,以及自然流畅的触摸操作。风靡一时的手机游戏 Contre Jour 也有了基于 HTML5 的纯 web 版本,并通过一部分必须 3 指触摸方可解决的谜题展示了浏览器多点触摸支持对于 web 游戏发展的重要性。

根据目前的测试情况来看,IE10 对触摸的支持已经走在市场的最前列。目前已经有对三大主流浏览器以及苹果浏览器 Safari 的 PC 版对触摸支持情况的测试视频出现在网络上。视频作者对 IE 10、Chrome 24、Firefox 16、Safari 5.3 进行了触摸操作的支持测试,在微软提供的多点触摸支持测试页面中,Chrome 24 对于触摸操作的识别存在较大问题,而且对二指缩放操作的支持不佳。Firefox 16 具有标准二指手势支持,但当触摸点达到 4 个时已无法识别,而且面对图形较复杂的测试页面时存在硬件加速不足的现象,Safari 5.3 也与之类似。而当测试页面切换为比较常用的 Google 地图和 Bing 地图时,IE10 和 Chrome 24 能够正常应付页面的触摸导航,并可对地图展示区域单独进行二指缩放操作。Firefox 16 能够实现正常的页面拖动,但二指缩放功能欠奉。Safari 5.3 则存在无法对地图展示区进行单独操作的问题,放大缩小都针对整个网页,包括左侧信息栏。

由于上述测试平台来自一部分浏览器开发商本身,结果也许带有一定倾向性。但从中可以看出,目前各款浏览器对于触摸操作的支持千差万别,触摸操作具备足够的潜力接替网页展示速度,成为下一个业界竞争的关键点。

2012 年 9 月,微软已经将 IE 10 中关于触摸操作的 Pointer API 提交到 W3C。一旦通过 W3C 批准,这一标准将成为 web 开发的行业规范,提高整个浏览器行业对于鼠标、多点触控、电磁笔操作的兼容程度。“后 PC 时代”遥遥无期,但浏览器的“后速度时代”即将来临。跨越平台与操作方式的浏览器必将为 web 用户带来前所未有的精彩。

JavaScriptHTML5语言 & 开发