zoukankan      html  css  js  c++  java
  • 浅谈HTML5的新特性

    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

      

  • 相关阅读:
    用户画像
    华为离职副总裁徐家骏:年薪千万的工作感悟
    JAVA CAS原理深度分析-转载
    彻底理解ThreadLocal二
    彻底理解ThreadLocal一
    观察者模式(浅谈监听器工作原理)
    Java编程提高性能时需注意的地方
    Spring对Quartz的封装实现简单需注意事项
    FileInputStream和BufferedInputStream的区别
    java
  • 原文地址:https://www.cnblogs.com/cxying93/p/6101164.html
Copyright © 2011-2022 走看看