传感器与硬件集成
移动设备上集成了许多传感器,方便用户与虚拟世界交互:如GPS、加速计、光检测器、麦克风、摄像头、温度计等。
为了方便Web开发者利用这些传感器,需要提供一组接口供开发者使用。
Geolocation API提供了一个设备定位通用接口,并且对底层技术(GPS,WIFI网络发现,蜂窝网络三角测量等)是透明的。
DeviceOrientation Event Specification也在开发处理传感器上的方向和速度信息的方法。
虽然目前还不确定开发一个通用的方法是否实用,但System Information API已经计划开发一组通用API,用于提取并监控传感器的数据。
正如在多媒体一节中提到的,目前已经有许多工作诣在开发一组访问摄影机和麦克风数据流的API。
Feature | Specification | Working Group | Maturity | Stability | Latest editors draft | Current implementations | Test suite |
HTTP(s) network API | XMLHttpRequest | Web Applications Working Group | Candidate Recommendation | Mostly finished | Regularly updated | Widely deployed | Good coverage |
XHR2 | XMLHttpRequest Level 2 | Web Applications Working Group | Working Draft | Still changing, but starting to stabilize | Updated regularly | Very limited (?) | None (?) |
Cross-domain requests | Cross-Origin Resource Sharing | Web Applications Working Group | Working Draft | Close to stabilizing | Last update November 2010 | Growing deploymentImplementation data | None (?) |
Server-pushed requests | Server-Sent Events | Web Applications Working Group | Last Call | Still changing but stabilizing | Regularly updated | Growing | None (?) |
Bidirectional connections | The WebSocket API | Web Applications Working Group | Working Draft | Still changing but stabilizing | Regularly updated | Limited, but growing | None |
on-line state | HTML5onLine DOM state | HTML Working Group | Last Call Working Draft | Mostly stable | regularly updated | Getting deployed | None |
Network characteristics | The Network Information API | Device APIs Working Group | Working Draft | Early draft | Regularly updated | Very limited | N/A |
通讯
一个好的移动开发平台不仅能够让用户享受在线服务,还能允许用户之间通过设备或应用程序彼此通讯。
Messaging API不仅可以通过连接(如使用sms:,mms:,和mailto:URI schemes)添加信息和发送信息,还能在信息中添加附件,并降低了信息发送失败的概率。
HTML5 Web Messaging的postMessage API可以实现Web程序之间的交互。
Device APIs Working Group受到Web Introducer和相关工作的启发,致力于将各种Web应用程序更加紧密地联系起来。
Web Real-Time Communications Working Group的成立标志着将会有更加丰富的通讯方式产生:
- 设备间的P2P连接
- P2P视频音频流使得用户能够实时通讯
Feature | Specification | Working Group | Maturity | Stability | Latest editors draft | Current implementations | Test suite |
Application Cache | HTML5Application Cache | HTML Working Group | Last Call Working Draft | Still changing but stabilizing | Regularly updated | Getting deployed | None |
Widgets | Widgets Packaging & Configuration | Web Applications Working Group | Proposed Recommendation | Mostly finished | Last update Aug 2011 | Getting deployed | Full coverage |
Digital Signatures for Widgets | Proposed Recommendation | Mostly finished | Last update Aug 2011 | Getting deployed | Full coverage | ||
Widget Access Request Policy | Proposed Recommendation | Mostly finished | Last update Aug 2011 | Getting deployed | Full coverage |
性能和优化
由于移动设备的CPU以及电池的限制,移动设备的开发需要特别关注性能问题。
Web Performance Working Group的Navigation Timing,Resource Timing,Performance Timeline和User Timing提供了许多工具用于帮助开发者优化Web程序的性能。
Efficient Script Yielding的工作为Web开发者提供了更加高效的异步编程方式。
查看Web页面是否显示的API(Page Visibility API)能够根据Web程序的需要调整资源配置,例如当页面最小化时释放部分网络带宽。类似地,Timing control for script-based animations API能够减少播放动画时使用的资源。
除了优化资源外,应用程序的响应速度也是移动用户体验的重要组成部分。线程工作机制可以通过Web Workers将资源消耗较大的操作放到后台执行,从而提高应用程序的响应速度。
Mobile Web Application Best Practices给出了关于如何在移动设备上开发优秀的Web App的一些建议。
standards for Web Applications on Mobile: August 2011 current state and roadmap