尚未广泛支持的新特性:
WebGL
WebGL是web上的3D图形API。还记得在第二章中提到的canvas元素有一个getContext(“2d”)方法,用来获取绘图使用上下文,其实这里可以获取3d上下文。目前3D特性还处于实验阶段,各浏览器厂商获取3D上下文地方法不同(如moz-webgl,、webkit-3d等”)。WebGL提供的API是OpenGL ES 2的JS绑定,它不像2D API那样处理线条和图形,而是处理材质和定点缓冲。Google为演是Chrome的特性,做了一个WebGL版本的QuakeII。网上还可以找到更多演示。
3D Shaders(3D阴影)
WebGL提供的了OpenGL ES 2的JS绑定,其中包括阴影的支持。Shader允许在3D场景生成灵活的渲染效果。WebGL的阴影使用GL Shading Language(GLSL)来编写。一个使用WebGL的应用程序,使用HTML作为程序结构,CSS制定样式,使用Javascript编写程序逻辑,使用GLSL实现阴影。
Devices标签
Web应用需要访问多媒体设备,比如摄像头、麦克风或者移动存储设备。所有在标准中有一个被提议的标签可以用来访问这些设备。由于这样做肯定会涉及隐私,所以你可能会看到一个请用户批准的对话框,就如果在介绍地理位置API时介绍的。
Audio Data API
可编程的Audio API和的关系就像和之间的关系。
提供展示图图片的途径,提供了可以通过脚本操作图像的方法。同样,使用你只能控制声音的回放,如果你想读取,操作,生成声音数据就需要更底层的API。如果这个API能够实现,我们也需就可以看到网络版本的cool editor。
针对触摸屏设备的事件
目前的Dom事件都是针对指点设备(如鼠标,触摸板)制定的。面对目前火热的触摸屏设备不是很适用。HTML5继续加入针对触摸屏设备的事件如下:屏幕朝向事件onorientationchange;手势ongesturestart、ongesturechange、ongestureend;触摸事件:ontouchstart、ontouchmove、ontouchend、ontouchcancel。
点对点网络通信
在HTTP或者WebSocket通信方式中,都是客户端和服务器之间通信。点对点通信允许客户之间之间建立通讯,这通常比把数据发送回服务器再发送回来更有效率。另外在多人游戏和协作应用程序中,p2p通常更加迅速。
另外,将p2p通信和device标签相结合将使HTML5视频聊天变得更加便捷迅速。
完了,终于完了
终于完了,到这里这本书中的所有要点终于总结完了,HTML5叫了这么久了,真正了解HTML5到底提供了什么的人,还是少数。希望这几篇文章能让大家对HTML5的新特性有个大致的了解。