Web 性能 API 迅速成为 W3C 候选推荐

我们很高兴地向大家宣布,三种全新的 W3C Web 性能工作组规范已经成为 W3C 候选推荐。对 Web 应用程序的性能特点进行精确评估,是使 Web 性能得以提高的关键。此外,开发者还需能够有效利用底层硬件,以提升其应用程序的性能。在过去两年中,包括 Microsoft、Google、Mozilla、Intel 和 Facebook 在内的许多公司一直致力于通过工作组来实现这些目标。要想了解业界和社区如何通过 W3C 进行协作,这就是最佳的示例。

导航定时资源定时用户定时性能时间线规范帮助开发者准确测量 Web 应用程序的性能。前三种规范分别为开发者提供与文档导航、页面资源和开发者脚本有关的信息。“性能时间线”规范定义了统一的界面用于检索定时数据。在这些 API 出现之前,开发者无法准确测量他们网站的性能。

为了确保这些性能指标都以尽可能最准确的方法进行测量,高分辨率时间规范定义了亚毫秒级的时钟分辨率。该接口不仅有利于对性能指标进行精确测量,而且也有利于进行帧速率计算和动画或音频提示的同步。开发者第一次能以亚毫秒级精度来测量操作。

页面可见性基于脚本的动画的定时控制以及有效脚本生成规范帮助开发者编写能更有效地使用 CPU 和电源的 Web 应用程序。页面可见性 API 允许以编程方式决定页面的当前的可见性状态。开发者可以使用这些数据来决定如何更好地利用 CPU 和电源。例如当页面位于背景标签中时,减少
操作活动的数量。在基于脚本的动画的定时控制规范中所包含的 requestAnimationFrame API 允许创建更高效的 JavaScript 动画。最后,在“有效脚本生成”规范中所包含的 setImmediate API 使开发者能够有效地对用户代理生成控制流并接收即时回调,并有效地利用 CPU。

为确保 Web 开发者只需编写一次代码并使其可在所有浏览器中实现兼容工作,工作组在过去两年中一直在尽最大努力来规范这些 API。下表列出了工作组目前正在编写的所有规范的成熟度。

规范 编者草稿 首次公开工作草稿 上次通话 上次通话 2 候选推荐 建议推荐 推荐
导航定时 2010 年 9 月 2010 年 10 月 2011 年 1 月 2011 年 2 月 2012 年 7 月
资源定时 2010 年 9 月 2011 年 5 月 2011 年 6 月 2012 年 5 月
用户定时 2010 年 10 月 2011 年 8 月 2011 年 8 月 2012 年 5 月 2012 年 7 月
性能时间线 2011 年 7 月 2011 年 8 月 2011 年 8 月 2012 年 5 月 2012 年 7 月
高分辨率时间 2012 年 3 月 2012 年 3 月 2012 年 3 月 2012 年 5 月
页面可见性 2010 年 4 月 2011 年 6 月 2011 年 7 月 2012 年 7 月
显示绘图通知 2011 年 5 月 2011 年 6 月 2012 年 2 月
有效脚本生成 2011 年 6 月
导航定时 2 (新增) 2012 年 4 月 2012 年 5 月

此表格显示了 W3C Web 性能规范的状态

截至本月,“导航定时”规范已作为 建议推荐 (PR) 进行发布。这一标准化阶段是 Web 标准成为 W3C 正式推荐标准之前的最后一步。此外,该接口已在各种浏览器中广泛采用,包括 Internet Explorer 9、Chrome 6 和 Firefox 7。

截至本月,“用户定时”、“性能时间线”及“页面可见性”规范已作为候选推荐 (CR) 进行公布。这一标准化阶段在“建议推荐”阶段之前,并且 W3C 认为此规范已经过广泛审查,可以满足工作组的技术要求。“资源定时”已在两个月前与“高分辨率时间”一起作为候选推荐进行发布。“高分辨率时间”从“编者草稿”状态变为“候选推荐”状态仅用了短短三个月时间。

想了解新的想法如何能迅速成为可操作的标准,使开发者能够应用于当前流行的支持 HTML5 的浏览器,这些 API 是很好的示例。感谢帮助设计这些 API 的 W3C Web 性能工作组的所有人,也感谢开始着手实施这些 API 的其他浏览器厂商。

—IE 性能,程序经理,Jatinder Mann