2012年,W3C将发布首个HTML5的推荐版本。目前,无论是桌面,还是移动终端,所有主流浏览器厂商都已经发布了支持HTML5的产品。作为下一代互联网标准,HTML5已经渐行渐近。那么,你了解HTML5对开发的影响了吗?
在简单、表现和内容分离、无插件、安全、兼容等设计思想下,HTML5提高了效率和用户优先,在很多方面的有了增强。对开发人员来讲,你需要重点学习以下几个主要的HTML5新特性:
CANVAS:用来动态生成图片、图表、动画等。在以前的HTML版本中,那怕要在浏览器中绘制一条斜线,都需要非常复杂的方式去实现。而有了CANVAS,哪怕是游戏这样的视觉效果都可以轻松实现。
音频和视频:HTML5新的audio和video元素是浏览器原生支持的功能,因此用户无需再安装插件,浏览器会自动选择最佳的解码器和播放对象,而且开发人员可以直接用脚本来控制和播放内容。
地理定位:HTML5地理定位可以通过Geolocation API实现,使用方法非常简单。可以获取设备的经纬度、海拔高度、行驶方向、速度、准确度、IP地址、GPS三维坐标、MAC地址、手机ID及用户自定义数据等,并做计算。另外还有安全机制保护隐私。
Web通信:在以前,即使运行在同一浏览器里,不同框架、标签页、窗口间的通信都受到严格的限制。但在HTML5中,增加了新的通信手段: Communication API,它可以让不同域间的Web应用安全地进行通信。
WebSockets:HTML5 WebSockets是HTML5中最强大的通信功能,它定义了一个全双工通信信道,仅通过Web上的一个Socket即可进行通信。连Google都表示:“数据从几千字节减少到两字节,延迟从150ms减少到50ms——这不可小看。实际上,仅仅这两个因素已经足以引起Google对WebSockets的兴趣了。”
表单:在HTML5中表单功能得到大幅度增强,外观也可以更时尚。例如:不仅有传统的邮件等元素,新增了tel(电话号码)、url(网页地址)、search(用于搜索引擎)、range(用于年龄等特定数字范围,典型显示方式是滑动条)。在移动设备上你就可以根据不同元素,选择不同排列方式的键盘。
Web Worker:在HTML5中Web Worker API可以让Web应用程序具备后台处理能力。而且它对多线程的支持非常好。你可以用它让Web应用在执行一些后台数据处理,但又不会影响Web页面的交互性。你也可以用它监听服务器在后台广播的信息,再将其显示在页面上。
Web Storage:以前常用Cookie来处理一些追踪用户的信息,但cookie本身在网络上是可见的,如果不加密就存在安全性问题,并且数据要在服务器和浏览器间来回传送,也会消耗网络带宽。Web Storage是HTML5中让程序员更方便的在Web请求之间持久化数据。将数据存储在本地,而不是远程获取数据,既降低网络流量,又提升浏览器响应能力。
离线Web应用:HTML5中引入了离线应用缓存,这样Web应用程序既可以在浏览器中运行并在线更新,也可以脱机使用。例如:在撰写电子邮件草稿时,你就无需连接网络。