`
hl756799782
  • 浏览: 74031 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Html5 学习系列(一)认识HTML5

阅读更多

原文链接:http://www.cnblogs.com/fly_dragon/archive/2012/05/22/2513716.html

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

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

那什么是HTML5呢?

         HTML 5草案的前身名为Web Applications 1.0,是在2004年WHATWG提出,再于2007年W3C接纳,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案发布。WHATWG表示该规范是目前仍在进行的工作,仍须多年的努力。目前FirefoxGoogle ChromeOperaSafari(版本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的发力,的确带给我们每个开发者都带来了机会。

分享到:
评论

相关推荐

    Head First HTML与CSS 第2版 扫描高清

    《Head First HTML与CSS(第2版)》对读者来说,将是一个系统学习创建工业标准Web页的体验,而不只简单地阅读:你将玩游戏、解决谜题、探索秘密,并以你从未想过的方式创建Web页。你还能学习HTML如何与CSS协同工作。...

    Head First HTML与CSS 第2版.pdf

    《Head First HTML与CSS(第2版)》对读者来说,将是一个系统学习创建工业标准Web页的体验,而不只简单地阅读:你将玩游戏、解决谜题、探索秘密,并以你从未想过的方式创建Web页。你还能学习HTML如何与CSS协同工作。...

    Head First HTML with CSS & XHTML 源代码

    如果你曾经读过深入浅出(Head First)系列图书中的任一本,就会知道书中展现的是什么:一个按人脑思维方式设计的丰富的可视化学习模式。本书的编写采用了许多最新的研究,包括神经生物学、认知科学以及学习理论,这...

    从零开始学习JQuery

    这一条是我提出的, 原因就是大部分开发人员对于javascript存在错误的认识. 比如在页面中编写加载时即执行的操作DOM的语句, 在HTML元素或者document对象上直接添加"onclick"属性, 不知道onclick其实是一个匿名函数...

    Head First HTML与CSS 第2版

    如果你曾经读过任何一本HeadFirst系列书籍,你就会知道其中的奥秘:丰富、活泼的设计调动你的头脑,让思维活跃起来。通过采用神经生物学、认识心理学以及学习理论的最新研究成果,这本书将激发你学习HTML和CSS的兴趣...

    [知识图谱实战篇] 七.HTML+D3实现关系图谱搜索功能(源码)

    为了加深自己对知识图谱构建的认识,为后续创建贵州旅游知识图谱打下基础,作者深入学习了张宏伦老师的网易云课程(星球系列电影),并结合自己的理解和技术分享了该系列专栏,从数据采集、数据展示、数据分析到知识...

    十天学会ASP系列文章

    虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...

    Head First HTML与CSS、XHTML (英文版)

    Head First系列书籍,以丰富、活泼的设计调动你的头脑,让思维活跃起来。通过采用神经生物学、认识心理学以及学习理论的最新研究成果,这本书将激发你学习HTML和CSS的兴趣。

    嵌入式系统开发圣经

    3-5-1 由说明书认识硬件组件 3-5-2 驱动程序的编写 3-5-3 中断与异常处理 3-6 调试技术 3-6-1 仿真软件 3-6-2 目标平台上的调试 3-6-3 硬件辅助调试 3-7 您必须了解的事情 3-7-1 常见的错误处理 3-7-2 程序...

    fed:旨为锤炼前端开发工程师的前端开发基础课程,重点学习利用html和css实现页面布局,利用JS实现交互开发

    课程设想我们的目标是通过一系列前端方面课程的学习,能逐渐胜任任前端开发工程师的工作要求,因此在认识课程之前,我们先来看一则招聘简章。来自于上海鲸科信息科技有限公司的前端开发工程师招聘:职位年薪:13W起...

    10天学会ASP.NET

    虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...

    十天学会asp.net

    虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...

    Access2003中文版应用基础教程part2

    5-4-4 设定图表的数据系列格式 5-5 关于窗体与数据输入的二三事 自我突破练习 第6章 无人能敌的数据查询 6-1 数据记录的排序技巧 6-1-1 设置升序或降序排序 6-1-2 使用筛选窗口设置排序方式 6-1-3 取消和应用...

    Access2003中文版应用基础教程part1

    5-4-4 设定图表的数据系列格式 5-5 关于窗体与数据输入的二三事 自我突破练习 第6章 无人能敌的数据查询 6-1 数据记录的排序技巧 6-1-1 设置升序或降序排序 6-1-2 使用筛选窗口设置排序方式 6-1-3 取消和应用...

    十天学会ASP.NET

    虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...

    十天学会ASP.NET教程

    虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...

    10天学会ASP.NET教程

    虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...

    ASP.NET基础入门教程-自学必备

    虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解...

Global site tag (gtag.js) - Google Analytics