WebAPI编程
WebAPI(Web Application Programming Interface)是HTML5所提供的用于开发WEB应用程序的一系列编程接口。
概述
HTML5已逐步成为开发WEB应用程序最理想的前端平台。WEB应用都是以网页的形式运行在浏览器中,因此也常常被称为网页应用程序。
HTML4时代,AJAX开发模型已经非常流行,通过XmlHttpRequest异步通信再加上动态操作DOM,使Web应用程序变回富客户端应用成为可能,这样的WEB应用程序被称为Rich Internet Application,简称RIA。
而进入HTML5时代之后,受益于大量新增加的WEB API,在单一HTML页面里实现一个完整复杂的WEB应用程序成为可能,这样的WEB应用程序被称为Simple Page Application,简称SPA。
API的分类
HTML5所提供的众多API可以以下几个大组:
- 文档对象模型(Document Object Model,DOM)API
这一组API可以让应用程序动态的操作HTML页面的DOM,包括增加和删除HTML元素,更改HTML元素的属性和样式,以及捕获HTML元素上的用户入力事件做相应的处理。
历史
HTML4提供的API基本上只有DOM API、Image API和Cookie API等,绝大多数API都是HTML5才开始有的,下表简单的示意了一下WebAPI的历史。
API | HTML4 | HTML5 | |
---|---|---|---|
DOM | ○ | ○(※1 | |
图形 | Canvas | × | ○ |
SVG | × | ○ | |
WebGL | × | ○ | |
多媒体 | Audio | × | ○ |
Image | ○ | ○ | |
Video | × | ○ | |
客户端存储 | Cookie | ○ | ○ |
Storage | × | ○ | |
IndexDB | × | ○ | |
LocalFileSystem | × | ○ | |
本地操作系统文件 | × | ○ | |
通信 | XmlHttpRequet | ○ | ○(有扩展) |
WebSocket | × | ○ | |
跨文档 | × | ○ | |
设备访问 | 电池管理 | × | ○ |
摄像头 | × | ○ | |
地理定位 | × | ○ | |
屏幕亮度调节 | × | ○ | |
设备方向检测 | × | ○ | |
设备震动 | × | ○ | |
桌面通知 | × | ○ |
- ※1
增加了拖放(draggable)支持,编辑(contenteditable)支持等。