HTML5新特性归纳和同类比较

第一章 HTML5定义

什么是 HTML5?

HTML5 是下一代 HTML 标准。

HTML , HTML 4.01的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。

HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。

HTML5 是如何起步的?

HTML5 是 W3C 与 WHATWG 合作的结果,W3CWorld Wide Web Consortium ,WHATWG 指 Web Hypertext Application Technology Working Group

WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML20141029日,万维网联盟宣布,经过接近8年的艰苦努力,该标准规范终于制定完成

 

HTML5诞生以来,一共经历了两个阶段,分别是Web增强和移动互联网。我们先从Web 增强说起。

HTML5第一阶段: Web 增强与破垄断

  web体验的丰富增强主要表现在:1. webapp,比如gmail;2. 流媒体;3. 游戏。我们就这3个方面来讲HTML5做了什么。

  1. webApp

  HTML5新增了离线存储、更丰富的表单(比如Input type=date)js线程、socket、标准扩展embed、以及很多css3新语法

  2. 流媒体

  HTML5新增了audiovideo

  3. 游戏

  HTML5新增了canvaswebgl

  另外,还有Google努力在HTML5中推进HeaderSection等标签,以利于搜索引擎分析

HTML5第二阶段: 移动互联网

HTML5是唯一一个通吃PCMaciPhoneiPadAndroidWindows Phone等主流平台的跨平台语言。

W3C成立了Device API工作组,为HTML5扩展了CameraGPS等手机特有的API,然而麻烦的是,移动互联网初期的迭代太快了,手机OS在不停的扩展硬件API,陀螺仪、距离感应器、气压计。每年手机OS都有大版本更新。而W3C作为一个数百家会员单位共同决策的组织,从标准草案的提出到达成一致是非常复杂的过程,跟不上移动互联网初期的快速迭代。

 

201410月底,W3C宣布HTML5正式定稿。这个时间,硬件性能更强、手机OS迭代速度下降。

  1. 硬件升级2011年,iPhone 4sCPUA5,现在iPhone 6A8,按苹果的历次发布会的说法,速度共提升了7.5

 2. 苹果、Google的策略变化两大手机操作系统霸主和浏览器巨头的态度发生了变化,使得HTML5在手机上的发展不再受限

3. 软件技术的成熟

a) 性能:提升HTML5性能的手机端引擎,让侧滑菜单、下拉刷新等动态交互卡顿的问题得以解决;

  b) 工具:HTML5开发IDE产品HBuilder, 超快的编程利器;

  c) 能力:把40万原生API封装成JavaScript对象,以解决HTML5能力不足问题的Native.js技术;

  d) 最接近原生体验的高性能框架:MUI框架,体积只有几十K,加载、运行远快于一般框架。

第二章 HTML5新特性介绍

HTML5 中的一些有趣的新特性:

• 用于绘画的 canvas 元素

• 用于媒介回放的 video 和 audio 元素

• 对本地离线存储的更好的支持

• 新的特殊内容元素,比如 articlefooterheadernavsection

• 新的表单控件,比如 calendardatetimeemailurlsearch

2.1 核心:Canvas

 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成 标签只是图形容器,您必须使用脚本来绘制图形。你可以通过多种方法使用Canva绘制路径,盒、圆、字符以及添加图像。

   Canvas将在游戏、图表制作、banner广告、模拟器、远程计算机控制、字体设计、图形编辑器、其他可嵌入网站的内容,这几个方面大有可为。

SVG 与 Canvas两者间的区别

SVG 是一种使用 XML 描述 2D 图形的语言。Canvas 通过 JavaScript 来绘制 2D 图形。

SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

下表列出了 canvas 与 SVG 之间的一些不同之处。

Canvas

SVG

· 依赖分辨率

· 不支持事件处理器

· 弱的文本渲染能力

· 能够以 .png 或 .jpg 格式保存结果图像

· 最适合图像密集型的游戏,其中的许多对象会被频繁重绘

· 不依赖分辨率

· 支持事件处理器

· 最适合带有大型渲染区域的应用程序(比如谷歌地图)

· 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)

· 不适合游戏应用

参考:

1 W3school的具体对它的解析:http://www.w3school.com.cn/html5/html5_canvas.asp 参考手册:http://www.w3school.com.cn/tags/html_ref_canvas.asp

2分享8款令人惊叹的HTML5 Canvas动画特效http://www.html5tricks.com/8-html5-canvas-animation.html

3 八大核心要点:我们能用HTML5 Canvas做什么? http://www.csdn.net/article/2013-05-24/2815426-8-points-of-html5-canvas

2.2 Video元素解析:

直到现在,仍然不存在一项旨在网页上显示视频的标准。今天,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。通用的视频播放解决方案是flashflvflash9开始支持h.264mp4)。但是随着ios设备的流行,flash已经不是万能药了,越来越多的视频网站提供多元的解决方案,而且偏向于html5:也就是说,通过检测agent是否支持html5来决定使用video还是flash。在面对IE8以下的浏览器时,flash几乎是唯一的选择(silverlight的接受度普遍不高)

HTML5 规定了一种通过 video 元素来包含视频的标准方法。HTML5影音标准诞生的困难,显示出它取代Flash的难度。Flash影片能在影片从服务器传送到使用者计算机时,利用各种"codec"影音编/译码器。使用者只需单纯按下播放键。

  但目前HTML5只接受两种codec:苹果SafariGoogle Chrome支援的H.264,及FirefoxChromeOpera支援的Ogg Theora。最多人用的浏览器IE,目前不支持任何HTML5影音。

  串流影音网站该怎么作?如果某个网站支持HTML5影音(YouTube正在试验),最好还是保留Flash支持,以服务许多现用浏览器尚未支持HTML5的使用者。

同理可见audio元素

 

参考资料:

HTML5&Flash之粗知浅见 http://uedc.163.com/6675.html (介绍了html+css+js,比较了HTML5flash)。

2.3应用程序缓存

使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。

什么是应用程序缓存(Application Cache)?

HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。

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

1. 离线浏览 用户可在应用离线时使用它们

2. 速度 已缓存资源加载得更快

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

 

2.4表单元素和属性

   Form的新元素<output>,新属性autocomplete、novalidate

   Input的新类型,color、 date、 datetime、 datetime-local、 email、 month、 number、 range 、search 、tel、 time、 url 、week;新属性autocomplete、 autofocus、form、requiredplaceholder、step、 min and max

 

2.5语义和结构元素

HTML5提供了新的元素来创建更好的页面结构

许多现有网站都包含以下HTML代码: 或者 来指明导航链接头部以及尾部.

HTML5提供了新的语义元素来明确一个Web页面的不同部分:

· 

· 

你可能感兴趣的:(HTML5新特性归纳和同类比较)