天天看点

《HTML5实战》——A.2 常见的HTML5规范

本节书摘来自异步社区《html5实战》一书中的附录a.2,作者: 【美】rob crowther , joe lennon , ash blue , grey wanish 更多章节内容可以访问云栖社区“异步社区”公众号查看。

在这一节中,我们将概述一些符合whatwg的html living standard以及w3c的html5 family of specifications的技术。虽然,whatwg的规范并没有一直被人叫做html living standard,但我们还是用这个词儿来区分w3c的html5规范。在谈到每一项技术时,都会连带介绍w3c的相应规范以及本书所涉章节。

a.2.1 语义标记和表单元素

html5介绍的html元素改变了人们构建web应用与使用表单元素的方式。程序员们能通过data这样的属性来控制标记。这些属性能在html元素中保存重要的元数据。这是html最核心的东西,所以也包括在w3c的html5规范中。

第1章与第2章介绍了语义标记和表单元素的使用。

a.2.2 视频及音频(多媒体)

过去,web开发者主要依靠flash或其他插件来提供音视频的支持,html5的和

<video></video>

第8章介绍了视频及音频。在附录i中,还有一些更为前沿的视频技术。

a.2.3 canvas和svg(交互性媒体)

canvas api和svg技术能让开发者通过javascript来创建交互式的媒体。现今最流行的canvas api最初是苹果在mac os x中的一个产品。开发者可以利用元素创建位图图像。虽然元素自身属于html5的核心规范,但2d绘图环境(实现绘制的javascript api)则在另一个单独的叫作“html canvas 2d context”的规范中。另外还需注意的是,虽然webgl能使canvas显示3d图像,但3d绘图环境却并不属于html5官方规范(详情参看a.3节内容)。

svg技术诞生自大约2001年,是一个基于xml的语言。html5所做的不过是将svg元素注入到html页面中(也经常能把svg注入到xhtml页面中)而已。一定要记住的是,svg是html5的一个标准组成部分,而不是由html5所衍生出的一个规范。

第6章与第7章介绍了canvas、2d绘图环境以及svg。第8章使用canvas来控制实时视频,第9章则将其与3d绘图环境结合起来使用。

a.2.4 存储

html5还包含一些基于存储的api。其中,属于html5规范的是web storage与离线应用。

在w3c体系中,离线应用属于html5的核心规范。线程和本地存储则属于web storage规范。这些都在第5章有所介绍。

a.2.5 通信

web通信(跨文档通信与通道通信),服务器发送事件,以及websockets都属于html5的核心技术。在w3c体系中,它们分属于3个规范:“html5 web messaging”、“server-sent events”和“websockets api”。这里要注意的是描述传输数据的格式的websockets协议,它是由ietf(internet engineering task force,互联网工程任务组)定义的。第4章与附录f介绍了通信方面的内容。

a.2.6 xml http请求对象

在20世纪90年代末,这种api就已经存在于ie中了。在2000至2002年间,它通过firefox的实现被大量用于web应用中,从而促成了ajax(异步javascript和xml)的诞生。但是xhr(xml http request)从来没有记录在任何规范中,直到2004年,whatwg才为它制定了专门的规范。目前,w3c制定了关于xhr对象的专门规范,但由于xhr和ajax用途广泛,知名度高,所以虽然严格来说xhr属于html5技术,但本书也不会专门介绍它。

继续阅读