HTML5的发展越来越迈向成熟,很多的应用已经逐渐出现在你我日常生活中了,不只让传统网站上的互动Flash逐渐的被HTML5的技术取代,更重要的是可以透过HTML5的技术来开发跨平台的手机软件,让许多开发者感到十分兴奋!
当你开始想要学习、试图想要投入相关的开发时,由于HTML5的技术还在持续发展、进化当中,学习的资源也都比较零散,较难有一个整体的方向。在本篇文章中,笔者将会介绍HTML5的主要技术组成,并且提供一些学习资源让大家参考。
HTML5到底是什么?
一般广义而言的HTML5则包含了HTML、CSS和JavaScript三个部分,不单单只是HTML部分而已,CSS 3和JavaScript也有许多的创新,让整个网页程序功能更加缤纷。
HTML5的技术组成
脱机功能
HTML5透过JavaScript提供了数种不同的脱机储存功能,相对于传统的Cookie而言有更好的弹性以及架构,并且可以储存更多的内容。
- WebStorage: 比 Cookies 更大、更有弹性的的储存
- Web SQL Database: 本地端的SQL数据库
- Indexed DB: Key-value 的本地数据库
- Application Cache: 将部分常用的网页内容cache起来
实时通讯
以往网站由于HTTP协议以及浏览器的设计,实时的互动性相当的受限,只能使用一些技巧来「仿真」实时的通讯效果,但HTML5提供了完善的实时通讯支持。
- WebSocket: 实时的socket联机
- Web Workers: 以往 JavaScript 都是 single thread,透过 Worker 可以有多个运算
- Notifications: 原生的提示讯息,类似像OS X的Growl提示
档案以及硬件支持
不知道大家有没有发现,在Gmail等新的网页程序当中,已经可以透过拖拉的方式将档案作为邮件附件?这就是这部份HTML5档案的功能中的Dragn Drop和File API。
- Dragn Drop: HTML元素的拖拉
- File API: 读取用户本机计算机的内容
- Geolocation: 地理定位
- Device orientation: 手持装置的方向
- Speech input: 语音输入
语义化
语义化的网络是可以让计算机能够更加理解网页的内容,对于像是搜索引擎的优化(SEO)或是推荐系统可以有很大的帮助。
- New tags: 新的标签,像是 header、 section等
- Application tags: 也是新的标签,像是 meter、 progress
等 - Microdata: 加入语义的数据让搜索引擎等网站可以正确显示
- Form type: form可以加入的type便多了,包含email和tel等属性,浏览器会协助进行数据格式的验证
多媒体
Audio、Video的卷标支持以及Canvas的功能应该是大家对于HTML5最熟悉的部份了,也是许多人认为Flash会被取代的主要原因。
- Audio video: 影片和音乐的原生播放支持
...
阅读全文