台式机和笔记本电脑上的Web技术已经发展得相当成熟了,现在台式机和笔记本电脑上各种功能的应用程序应有尽有;然而,目前移动设备上的Web技术仍然还处在发展阶段。
这篇文章总结了当前已有的各种技术,以及它们在移动开发中的具体应用。
现状和改变
这篇文章是移动Web应用程序报告的第二版。之前的版本分别在2011年2月和2011年5月发布,所有这些版本的发布都需要感谢W3C Wiki的支持。欢迎大家将对这篇文章的想法告诉作者(dom@w3.org),或许这些想法将会出现在下一版的报告中。这篇文章记录了从上一个版本到现在为止,Web平台上发生的所有重大变化:
- 新增了一个设备适配领域
- 新增了一个W3C Community Groups开展W3C标准制定工作
- Web Performance Working Group推出了四个新的API: Performance Timeline, User Timing, Efficient Script Yielding和Timing control for script-based animations
- 完成了Web Real-Time Communication的初稿
- 一批标准已经引起了更多的重视(WOFF, Contacts API,DeviceOrientation Event, Network Information API,Widgets specifications系列文章)
- 提出了基于模型的用户界面的一些建议
- 更新了Device APIs Working Group charter
文章结构
下面将逐一介绍Web平台上新增的技术功能:
- 图像处理
- 多媒体
- 设备适配
- Forms
- 用户交互
- 数据存储
- 个人信息管理
- 传感器和硬件集成
- 网络
- 通讯
- 封装
- 性能和优化
每一节里面都有一个表对各个功能进行了总结,其中包括:
- W3C对该功能的规范定义,
- W3C中负责相应规范的团队,
- 规范的成熟度,
- 规范文档的稳定性评估,由本报告的作者对规范文档需要改动的幅度进行评估,分为三个等级:低(规范文档基本已经稳定)、中(部分稳定,而其他部分需要大幅度修改)、高(整个文档需要大幅度调整),
- 在移动设备上实施后的可用性评估,这个评估只是粗略的定性描述,
- 最新规范文档的链接
- 相应功能测试集的链接
需要指出的是,W3C在制定Web标准的过程中,需要按照 Recommendation track经历以下几个阶段:
- “Editors drafts”表示该定义仅仅代表作者的个人观点,并不是标准的定义。
- “Working Drafts”是工作组取得的初步进展。
- “Last Call Working Drafts”表明工作组认为规范已经满足要求并且所有已经发现的问题都已得到解决,需要获取更加广泛的反馈。
- “Candidate Recommendations”会邀请开发人员实现规范中的内容并且给出反馈意见;工作组会在按照规范开发的应用上运行测试集。
- “Proposed Recommendations”表明规范已经得到了充分的实践检验,只差W3C的最终审核。
- “W3C Recommendations”表明规范已经是一个稳定并且完整的Web标准了;相关的文档很少会再被更新了,它通过了“Edited Recommendation”过程,是工作组经过反复修正的成果。
工作组只有通过W3C Members的讨论或是被W3C Member Submission接受后方能开始制定标准。
W3C最近新成立了一个Community Groups,该机构帮助人们在W3C的基础设施上做各种实验,并在知识产权允许的范围内将他们所做的工作转化为W3C标准。
图像处理
SVG(Scalable Vector Graphics) ,可缩放矢量图,是基于XML用于描述二维矢量图形的一种图形格式。由于图像是由一组几何图形构成的,这些图形能够按照用户的需求任意缩放,因此它非常适合移动设备上的开发。用它开发动画也是相当方便的,因此可以用来优化用户界面。
SVG为HTML5带来了更加丰富的功能,例如可以为多媒体文件增加高级图像过滤器(使用SVG的过滤器)。
HTML5提供的<canvas>
标签是对SVG申明的补充,该标签提供了一个2D编程API,能够减少图像处理时的内存开销。这个API不仅可以实现图像渲染,还能用于图像的处理和分析。
SVG和HTML都能够使用CSS (Cascading Style Sheets)设计图形样式;值得一提的是,CSS3(CSS第三版)提供了一组标准样式集,里面有许多新的功能,使得用户能够方便地打造图像效果,如圆角、复杂的背景图像、阴影(CSS Backgrounds and Borders)、旋转(CSS 2D Transforms)、动画(CSS Animations , CSS Transitions)、甚至是3D效果(CSS 3D Transforms)。
动画通常是非常消耗资源的——基于脚本的动画API提供了时间控制器,能够控制动画更新的频率,从而限制动画对资源的占用。
在构造图形界面时,字体的选择也是非常重要的,但通常移动设备上可供选择的字体是非常有限的。WOFF (Web Open Font Forma)的出现解决了这一问题:它允许用户从样式库中自动下载各种字体,并且能够根据实际的需要调整字体的大小。
注:WebGL——3D图形API的定义工作是由Khronos Group完成的(并不是W3C);这个API与OpenGL ES是兼容的,主要用于移动设备的开发。
Feature | Specification | Working Group | Maturity | Stability | Latest editors draft | Current implementations | Test suite |
2D Vector Graphics | SVG Tiny 1.2 | SVG Working Group | Standard | Finished | New version of SVG (SVG 2.0) in preparation | Widely deployed (iOS, BlackBerry, WebKit on Nokia, webOS, Opera, Firefox, announced for Android, announced for Windows Phone) | High coverage |
2D Programmatic API | HTML Canvas 2D Context | HTML Working Group | Last Call Working Draft | Mostly stable | Updated regularly | Widely deployed (iOS, BlackBerry, Android, webOS, Opera, Firefox, announced for Windows Phone) | Good coverage |
Rounded Corners | CSS Backgrounds and Borders | CSS Working Group | Candidate Recommendation | Mostly finished | Updated regularly | Deployed as an extension in many mobile browsers | None |
Complex background images | Limited (?) | ||||||
Box shadow effects | Limited (?) | ||||||
CSS 2D Transforms | CSS 2D Transforms Module Level 3 | Working Draft | Stabilizing | Last update May 2010 | Limited (?) | None | |
3D Effects | CSS 3D Transforms Module Level 3 | Working Draft | First draft | Last update Dec 2010 | Very limited | None | |
Animations | CSS Animations Module Level 3 | Working Draft | First draft | Updated regularly | Limited (?) | None | |
CSS Transitions Module Level 3 | Working Draft | Early draft | Last update Aug 2010 | Limited (?) | None | ||
Timing control for script-based animations API | Web Performance Working Group | Working Draft | Early | Regularly updated | None | None | |
Downloadable fonts | WOFF File Format 1.0 | WebFonts Working Group | Candidate Recommendation | Mostly stable | Last update Aug 2011 | Good deployment | Good coverage |
(未完待续)
文章来源:Standards for Web Applications on Mobile: August 2011 current state and roadmap