HTML5,被传为Flash 的杀手,是一种用于web 应用程序开发、具有变革意义的网络技术。HTML 5提供了一些新的元素和属性,其中有些是技术上类似<div>和<span>标签,但有一定含义,例如<nav>和<footer>。这种标签将有利于搜索引擎的索引整理、小屏幕设备和视障人士使用。同时为其他浏览要素提供了新的功能,通过一个标准接口,如<audio>和<video>标记。
除了原先的DOM接口,HTML5增加了更多样化的API:
- 实时二维绘图
Canvas API:有关动态产出与渲染图形、图表、图像和动画的API。
- 定时媒体播放
HTML5 音频与视频:HTML5里新增的元素,它们为开发者提供了一套通用的、集成的、脚本式的处理音频与视频的API,而无需安装任何插件。
- 离线存储数据库(离线网络应用程序)
- 编辑
- 拖放
- 跨文档通信
- 通信/网络
Communication APIs:构建实时和跨源(cross-origin)通信的两大基础: 跨文档通信(Cross Document Messaging)与 XMLHttpRequest Level 2。
- 浏览历史管理
- MIME和协议处理程序时表头登记
- 微数据
以上技术说明存在于WHATWG HTML说明文档中,但并没有全部包含在W3C HTML5的说明文档里;W3C另对一些技术做了单独说明,此文不再一一赘述。
听起来略有些太过技术了,那么HTML5对设计将会有哪些影响呢?这是网页设计师和开发人员不厌其烦讨论了编程代码后不得不考虑的问题。
HTML5及web app 的优势
以移动互联网领域为例,面对众多的终端设备和平台,设计师和开发人员不得不在产品的展现和体验的一致性方面做出妥协举措,并在疲于填铺平台的过程中浪费了我们如此多的精力。产品本来可以达到更高的水准,但移动终端碎片化(包括硬件和软件)的现实将美好的愿望阻拦在外。
当前主流的手机开发平台有:iOS、Symbian、Linux、Palm、BlackBerry、Windows Mobile、Android等。其中,iOS平台需要针对480*320、960*640及1024*768的分辨率分别设计;Android平台中QVGA分辨率为240*320,WQVGA分辨率为240*400,HVGA分辨率为320*480,WVGA分辨率为480*800,FWVGA分辨率为480*854等等;Symbian系统可谓历史悠久,现在开发主要针对S60 V3和V5两个版本,分辨率仍有176*208、208*208、240*320/320*240、352*416/416*352及800*352等众多种类。即使同一个平台,分辨率不同设计也就会有相应的差异。加之客户端产品需要不断的更新迭代,从1.0版本、2.0版本一直到N.0版本;每开发一次native app 就需要铺一次平台。并且现实状况是并非所有用户都会积极更新新版本,所以设计师和开发人员在研发新功能的时候还要顾忌之前的旧版本会不会支持等问题。不同的平台乘以不同的版本,人力物力被投入到了铺设平台的工作中,提高产品用户体验的精力比较有限。
于是人们受够了终端设备碎片化的折磨,开始期盼着一种有别于native app的事物出现。由HTML5技术开发的web app的出现给予了设计师和开发人员美好愿景。HTML5技术的渲染过程主要是由浏览器、内嵌HTML5解析器的应用程序、支持书签打开方式的应用程序抑或是移动手机产品进行的。如此,产品的上线和版本更新不再需要花费那么长时间来铺平台, Appcelerator的内部逻辑会将产品的UI转换为iOS或Android等平台的原生界面。同时,web app形式的产品不需要用户下载更新,通过网络即可以访问最新版本;也便于设计师和开发人员调试和修正错误,不再存在同时兼顾新旧版本的问题。