浅谈HTML5的新特性

时间:2022-06-26 12:39:32

2014年10月29日,W3C宣布,经过接近8年的艰苦努力,HTML5标准规范终于制定完成。

HTML5将会取代1999年制定的HTML 4.01、XHTML 1.0标准,使网络标准达到符合当代的网络需求,为桌面和移动平台带来无缝衔接的丰富内容。

HTML5 的新特性

① 语义特性(Semantic)

HTML5赋予网页更好的意义和结构。

② 本地存储特性(OFFLINE & STORAGE)

基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。

③ 设备访问特性 (DEVICE ACCESS)

从Geolocation功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。

④ 连接特性(CONNECTIVITY)

更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。

⑤ 网页多媒体特性(MULTIMEDIA)

支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音功能相得益彰。

⑥ 三维、图形及特效特性(3D, Graphics & Effects)

基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。

⑦ 性能与集成特性(Performance & Integration)

没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题,帮助您的Web应用和网站在多样化的环境中更快速的工作。


下面分别对这七个新特性进行研究:

① 语义特性(Semantic)

  HTML4中的内容标签级别相同,无法区分各部分内容。

  而HTML5中的内容标签互相独立,级别不同,搜索引擎以及统计软件等均可快速识别各部分内容。

  这些标签在新闻类网站,博客类网站很有用。

  最大的问题就是当使用这些新的语义元素时,那些不支持的浏览器如何处理这些元素。

② 本地存储特性(OFFLINE & STORAGE)

  HTML5提供了网页存储的API,方便Web应用的离线使用。除此之外,新的API相对于cookie也有着高安全性,高效率,更大空间等优点。

  HTML5离线存储包含 应用程序缓存本地存储索引数据库文件接口

 (1)应用程序缓存(Application Cache)

    应用程序缓存为应用带来三个优势:

    离线浏览 – 用户可在应用没有因特网连接时进行访问。

    速度 – 已缓存资源加载得更快。

    减少服务器负载 – 浏览器将只从服务器下载更新过或更改过的资源。

    Demo链接:http://www.ganecheng.tech/welcome_offline.html

 (2)本地存储(Local Storage)

    最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个cookies,太少了。优势就是大家都支持,而且支持得还蛮好。

    首先自然是检测浏览器是否支持本地存储。

    在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage。

    从名字应该可以很清楚的辨认二者的区别,前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了。二者用法完全相同。

 (3)索引数据库(Indexed DB)

   IndexedDB则更适合存储如广告等数据(它更象一个真正的数据库)。

    一般来说,有两种不同类型的数据库:关系型和文档型(也称为NoSQL或对象)。

    关系数据库如SQL Server,MySQL,Oracle的数据存储在表中。文档数据库如MongoDB,CouchDB,Redis将数据集作为个体对象存储。

    IndexedDB是一个文档数据库,它在完全内置于浏览器中的一个沙盒环境中(强制依照(浏览器)同源策略)。

    如果您的应用程序真正需要一个客户端数据库,你想要达到的*别的采用可能,当IndexedDB不可用时,

    也许您的应用程序可能看起来需要选择使用Web SQL来支持客户端数据架构。

 (4)文件接口(File API)

③ 设备访问特性 (DEVICE ACCESS)

  大致包含 地理位置API ,媒体访问API ,访问联系人及事件设备方向

    比如说:地理定位、获取麦克风、摄像头、获取重力感应、摇一摇功能……

④ 连接特性(CONNECTIVITY)

  HTTP是无连接的,一次请求,一次响应。想要实现微信网页版扫一扫登录,网页版微信聊天的功能,需要使用轮询的方式达到长连接的效果,

    轮询的大部分时间是在做无用功,浪费网络,浪费资源。

    现在HTML5为我们带来了更高效的连接方案 Web Sockets 和 Server-Sent Events 。

⑤ 网页多媒体特性(MULTIMEDIA)

  看的出来HTML5原生支持音视频让W3C很兴奋。也是广大开发者多年的期待。终于可以将Flash踹入茅坑了。

    Audio和Video标签

⑥ 三维、图形及特效特性(3D, Graphics & Effects)

  大致包含SVG(可缩放的矢量图形), Canvas(画布), WebGL(网页图形库,3D绘图标准), 和 CSS3 3D。

   Canvas 与 SVG 的比较

   Canvas 
    -依赖分辨率 
    -不支持事件处理器 
    -弱的文本渲染能力 
    -能够以 .png 或 .jpg 格式保存结果图像 
    -最适合图像密集型的游戏,其中的许多对象会被频繁重绘

   SVG 
    -不依赖分辨率 
    -支持事件处理器 
    -最适合带有大型渲染区域的应用程序(比如谷歌地图) 
    -复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快) 
    -不适合游戏应用

⑦ 性能与集成特性(Performance & Integration)

   性能与集成特性主要包括两个东西,Web Workers (网页后台任务)和 XMLHttpRequest 2(新的Ajax)

参考链接:

  http://blog.csdn.net/gane_cheng/article/details/52819118