引言,认识两个标准制定的组织

在讲什么是Html5之前得先了解两个组织;WHATWG :网页超文本技术工作小组(英语:Web Hypertext Application Technology Working Group,缩写为WHATWG),是一个以推动网络 HTML 5 标准为目的而成立的组织。在2004年,由Opera、Mozilla基金会和苹果这些浏览器厂商和一些相关团体形成的一个松散的、非正式的协作组织,这些团体希望发展一些新的技术,从而开发人员可以在互联网上编写并部署应用。 另外一个就是大家熟悉的W3C :万维网联盟(World Wide Web Consortium,W3C),又称W3C理事会,它主要是为解决web应用中不同平台、技术和开发者带来的不兼容问题,保障Web信息的顺利和完整流通,万维网联盟制定了一系列标准并督促Web应用开发者和内容提供者遵循这些标准。标准的内容包括使用语言的规范,开发中使用的导则和解释引擎的行为等等。W3C也制定了包括XML和CSS等的众多影响深远的标准规范。

那什么是HTML5呢?

HTML 5草案的前身名为Web Applications 1.0,是在2004年由WHATWG提出,再于2007年获W3C接纳,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案发布。WHATWG表示该规范是目前仍在进行的工作,仍须多年的努力。目前Firefox、Google Chrome、Opera、Safari(版本4以上)、Internet Explorer 9已支援HTML5技术。

HTML5本质并没有对之前HTML4版本的规范进行彻底的变革,更令人欣喜的是,HTML5一开始设计就考虑了跟之前的标准进行兼容。而且把最新的WEB开发的一些新技术新的规范引入进了新版本的标准中。那么它的本质是什么呢?其实HTML5的发展就是html,css,jsapi的发展,用另外一句话解释就是:HTML5=HTML+CSS+JSAPI。

HTML5带给我们的是什么呢?

1、让Web再次回归到富客户端地步,而且更加的独立,减少了对第三方插件的依赖。

比如:之前的HTML4的标准中并没有对于视频、音频以及其他的富客户端技术支持的非常好,这就使得Flash和SilverLight变得异常的成功。而在HTML5新标准中原生的就支持音频、视频、画布等技术。让我们的WEB程序拥有更多富客户端表现的方式,而且让我们的WEB程序更加独立,更好的适应多种形式的客户端。

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

由于之前想在客户端保存一些数据都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。

HTML5 提供了两种在客户端存储数据的新方法:

  • localStorage - 没有时间限制的数据存储
  • sessionStorage - 针对一个 session 的数据存储

在 HTML5 中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。

对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据。

HTML5 使用 JavaScript 来存储和访问数据。有了本地数据库的支持,让一些简单的离线应用也成为了可能。

3、新的特殊内容元素,更好的支持SEO以及方便视障人士使用

现在所有的站点基本上都是Div+CSS布局,几乎所有的文章标题、内容、辅助介绍等都用Div容器来承载。搜索引擎在抓取页面内容时,因为没有明确的容器的含义只能去猜测这些标签容器承载的是文章标题还是文章内容等,HTML5新标准中直接添加了拥有具体含义的HTML标签比如:article、footer、header、nav、section

4、更加智能的表单标签

之前的表单标签,仅仅是简单的类型的约束,比如文本框、文本域、下拉列表等,而跟业务结合紧密的表单标签数据校验等控制都没有很好的支持,而是用这些技术都基本上都是跟第三方的JS控件进行结合使用,但是这些第三方总会涉及到版本控制、浏览器兼容性、非标准等一系列的问题,而在HTML5的标准中直接添加了智能表单,让这一切都变得那么的简单,比如 calendar、date、time、email、url、search。

5、HTML5即时二维绘图 ,也就是画布的引入,让Javascript子弹飞

画布的引入使得:Web端生成动画效果、制作Web游戏、更好的交互体验设计都增加了无限的变数,当社区充斥着乱七八糟超炫的HTML5的JS控制的效果的时候,让人无限的赞叹。HTML5 的canvas 元素使用JavaScript 在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。

canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

6、JS嗑药了,支持多线程

在不影响UI update 及 浏览器与用户交互的情况下, 前端做大规模运算,只能通过 setTimeout 之类的去模拟多线程 。而新的标准中,JS新增的HTML5 Web Worker对象原生的就支持多线程。

7、WebSockets让跨域请求、长连接、数据推送等一切都变得那么简单,Web不仅仅是Ajax

WebSockets是在一个(TCP)接口进行双向通信的技术,PUSH技术类型。WebSocket是html5规范新引入的功能,用于解决浏览器与后台服务器双向通讯的问题,使用WebSocket技术,后台可以随时向前端推送消息,以保证前后台状态统一,在传统的无状态HTTP协议中,这是“无法做到”的。

8、更好的异常处理

HTML5(text/html)浏览器将在错误语法的处理上更加灵活。HTML5在设计时保证旧的浏览器能够安全地忽略掉新的HTML5代码。与HTML4.01相比,HTML5给出了解析的完整规则,让不同的浏览器即使在发生语法错误时也能返回完全相同的结果。

9、文件API让文件上传和操纵文件变得那么简单

由于项目中经常遇到用Web应用中控制操作本地文件,而之前都是使用一些富客户端技术比如flash,ActiveX,Silverlight等技术,面对文件JS就是个shit,就是个鸡肋。在HTML5的新的提供的FHTML5 File API 让JS可以轻松上阵了。

10、编辑、拖放、微数据、浏览历史管理、地理信息接口API、设备硬件操作API等很多的新功....

HTML5的未来?

当然HTML5不是孤立的,Javascript API的增强,让JS变成异常强大的未来的编程武器。CSS3带给未来Web应用也是极大的新的挑战。相信由于HTML5标准化的支持,相信未来Web技术真正的可以跑在任何的端,也让我们的Web应用更加的独立,更加的轻松的融入到各个端中,HTML5 就是未来!

总结:

通过上面HTML5的新特点,不难总结出HTML5=Javascript+HTML+CSS。HTML5的新特性带给开发者的是更友好更丰富的本地处理的API,更智能的更优雅的HTML标签,更强的本地处理的功能,通信也进一步加强。Google很早之前就意识到了,客户只要拥有一个浏览器就可以了,相信不久的将来现在的Web的应用不在对本地处理那么鸡肋,CS形式的客户端相信也会越来越少。

作为开发者,当Adobe公司宣布放弃Flash,把最大的精力放到HTML5的开发上的时候,那你可能会看到这些趋势,当微软选择了HTML5而放弃了Silverlight继续升级的时候,那你基本上也没有什么好选择的了。HTML5的发力,的确带给我们每个开发者都带来了机会。

当然以上只是笔者的观点,每个人都有阅读新技术的角度,欢迎大家转载讨论。

我参与的厚德IT团队也同步更新,希望大家关注。(厚德IT专注于IT最新技术分享)

此文章在另外一个blog同步:http://www.cnblogs.com/houodeit/archive/2012/05/22/2513655.html

Html5 学习系列(一)认识HTML5相关推荐

  1. html5学习系列——qrs标签

    旧标签: (1)<q>标签 作用:定义一个短的引用:浏览器经常会在各种引用的周围插入引号. 属性:cite  规定引用的源url (2)<s>标签 作用:对那些不正确的,不准确 ...

  2. HTML5/CSS3系列教程:HTML5 区域(Sectioning)的重要性

    日期:2013-2-4  来源:GBin1.com 不管你以前在web页面布局中如何称呼它们 - "区域"还是"块",我们一直都在布局中将页面分成可视的不同区域 ...

  3. html5学习系列之klm类标签

    一.旧标签: (1)<kbd>标签 作用:定义键盘文本,已经被废弃. (2)<label>标签 作用:为inout元素定义标注,特别之处在于它为鼠标用户改进了可用性,如果用户在 ...

  4. HTML5学习系列之表单与文件

    article元素 article元素代表文档.页面或应用程序中独立的.完整的.可以独自被外部引用的内容.它可以是一篇博客或报刊中的文章.一篇论坛帖子.一段用户评论或独立的插件,或者其他任何独立的内容 ...

  5. html5学习系列之hi类标签

    旧标签: (1)<head>标签 作用:所有头部元素的容器,必须包含文档的标题(title), 可以包含脚本.格式.meta信息以及其他更多的信息 元素内部包含: <title> ...

  6. HTML5学习之二:HTML5中的表单2

    (本内容部分节选自<HTML 5从入门到精通>) 对表单的验证 -------------------------------------------------------- •1.re ...

  7. html5触摸指定区域,HTML5/CSS3系列教程:HTML5 区域(Sectioning)的重要性

    日期:2013-2-4 不管你以前在web页面布局中如何称呼它们 - "区域"还是"块",我们一直都在布局中将页面分成可视的不同区域.但真正的问题在于我们并没有 ...

  8. HTML5学习路线资料,HTML5前端面试的技术栈

    各位小伙伴大家好,现如今前端程序员编程可是相当的吃香.根据多年丰富的面试经历和岗位分析,对前端面试的技术栈,各大公司面试特点,进行简要的分析 ,随着我的秀发越来越少可以说我们积累的经验越来越多,在此给 ...

  9. HTML5 高级系列:web Storage 学前端开发要先看这个

    HTML5 高级系列:web Storage 学前端开发要先看这个 前言 HTML5 的 web Storage 存储方式有两种:localStorage 和 sessionStorage. 这两种方 ...

最新文章

  1. Tomcat5.5x+jndi配置
  2. iOS自动布局-VFL格式约束
  3. boost::geometry::closeable_view用法的测试程序
  4. 四种可变交流swap方法
  5. 反序列化 jackson_使用Jackson和Super类型令牌的Json反序列化
  6. 利用mysql5.6 的st_distance 实现按照距离远近排序。 (转载)
  7. HAL驱动的串口编程陷阱
  8. 【sklearn】有关数据归一化小结---fit_transform、fit、transform区别及其简单使用
  9. 空间三维直线拟合matlab代码
  10. python机器学习应用mooc_(2)Naive bayes
  11. 永磁同步电机MTPA与id=0的控制原理
  12. python保存快捷键是什么_python常用快捷键
  13. Road to Coder _Game
  14. 用LSTM自动生成古诗
  15. 还在为英语学习发愁吗?身为程序员的你可能需要这样一份“宝典”(上)...
  16. 不患人之不己知,患不知人也。
  17. Mybatis-Plus 基础知识点
  18. 有效逻辑地址所对应的物理地址
  19. lumen时间不准确,少8个小时
  20. 我的世界四大微软签约服务器,一年吸纳1.5亿用户,《我的世界》宣布开启“阴阳师”等四大IP联动 - 全文...

热门文章

  1. 厦门口岸检出今年首例登革热病例
  2. String.Format in javascript
  3. mysql修复坏表的方法
  4. LINUX系统常用操作
  5. AS整理代码快捷键 ctl+alt+L
  6. 《OpenStack云计算实战手册(第2版)》——导读
  7. 原 ng-include用法分析以及多标签页面的简单实现方式
  8. swift 动态设置UILabel的高度
  9. 小菜学设计模式——命令模式
  10. CloudStack 制作window模板