• HTML5之概述


    HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言HTML)的第五次重大修改,是继HTML4.01和XHTML1.0之后的超文本标记语言的最新版本。它是由一群自由思想者组成的团队设计出来,并最终实现多媒体支持、交互性、更加智能的表单,以及更好的语义化标记。

    HTML5并不仅仅是HTML规范的最新版本,而且是一系列用来制作现代富Web内容的相关技术的总称,其中最重要的三项技术分别为:HTML5核心规范(标签元素)、CSS(层叠样式表第三代)和JavaScript。

    一、HTML5发展历史

    1993年HTML首次以因特网草案的形式发布,然后经历了2.0、3.2、4.0,一直到1999年的HTML4.01版本稳定下来。由于发展缓慢,逐渐的被更加严格的XHTML所取代。

    XHTML是基于XML、致力于实现更加严格并且统一的编码规范的HTML版本,解决之前HTML4.01版本时,由于编码不规范导致浏览器的各种古怪行为,所以Web开发者对XHTML极大地拥护。XHTML极大的好处就是强迫开发者养成良好的编码习惯,放弃HTML凌乱的写法,最终降低浏览器解析页面的难度,方便移植到更多平台。

    可是,越是想往好的方面发展,往往可能带来的是毁灭性的灾难,世间万物就是如此。XHTML2.0规范了更严格的错误处理规则,强制要求浏览器拒绝无效的XHTML2页面,强制Web开发者写出绝对正确规范的代码,同时不得向下兼容,摒弃HTML一流的怪异行为和编码习惯。按理说,取其精华去其糟粕是好事,但是这样一来熟亿的页面无法兼容,Web开发者的难度又被加大,并且制定这个标准又太过久远,最终被抛弃。

    2008年W3C发布了HTML5的工作草案,2009年停止了XHTML2.0的计划,又过去大概一年,HTML5规范进一步解决了诸多非常实际的问题,各大浏览器厂商开始对旗下的产品进行升级,以便支持HTML5。这样得益于浏览器的实验反馈,HTML5规范得到了持续的进步和完善,从而迅速融入到Web平台的实质性改进中。

    和XHTML2.0不同,制定HTML5规范的一群人并不想挑出以往HTML的各种毛病为其改正,而是尽可能的补全Web开发急需的各种功能。这些功能包括更强大的CSS3、表单验证、音频视频、本地存储、地理定位、绘画(Canvas)、Web通信等等。

    二、HTML5功能

    1.HTML5核心:这部分主要由W3C官方的规范组成,设计新的语义元素、新的增强的Web表单、音频和视频、以及通过JavaScript绘图的Canvas。这部分大多数主流浏览器均的到很好的支持。

    2.曾经的HTML5标准:这部分主要来自最初制定的HTML5规范,其中大多数功能需要JavaScript且支持富Web应用开发。比如:本地数据存储、离线应用和消息传递。

    3.非HTML5标准:这部分通常指下一代功能,虽然从未进入HTML标准,但人们还是把它认做HTML5的一部分。这些包括最为常见的CSS3,以及很热门的地理定位。

    对于最为常用且实用的部分,基本上主流浏览器都支持的比较好。而那些特殊需求的部分,则需要根据不同的浏览器检测才能知道是否支持自己想要的功能。

    三、HTML5的特点

    1.向下兼容

    HTML5实行“不破坏Web”的原则,也就是说,以往已存在的页面,还可以保持正确的显示。

    面对开发者,HTML5规范要求摒弃过去那些编码坏习惯和废弃的标签元素;而面对浏览器厂商,要求他们兼容HTML遗留的而一切,以做到向下兼容。

    2.用户至上

    HTML5遵循“用户至上”的原则,在出现具体问题时,会把用户放在第一位,其次是开发者,然后是浏览器厂商,最后才是规范制定者。比如:开发者在编码是不严谨导致本该出现警告或错误时,却正常显示了页面。

    3.化繁为简

    HTML5对比之前的XHTML做了大量的简化工作,具体如下:

    (1)以浏览器的原生能力代替复杂的JavaScript;

    (2)DOCTYPE被简化到极致;

    (3)字符集声明被简化;

    (4)简单强大的API。

    4.无插件范式

    在HTML5之前,很多功能只能通过插件或hack(如绘图API)来实现,但HTML5原生提供了这些支持。使用插件有很多问题,具体如下:

    (1)插件安装容易失败;

    (2)插件被浏览器或软件禁用屏蔽(如Flash插件);

    (3)插件经常会被爆出漏洞被利用攻击;

    (4)插件不容易与HTML文档其他部分集成(比如整体透明化等)。

    5.访问通用性

    (1)可访问性:比如更加利于残障人士的阅读方案;

    (2)媒体中立:比如HTML5的媒体播放在不同设别或不同平台均能正常运行;

    (3)支持所有语种:比如新元素<ruby>。

    6.引入语义

    HTML5引入了一些用来区分不同含义和不同内容的标记元素。这种方式极大的提供的编码人员的可读性和代码区域查询的便利性。

    7.引入原生媒体支持

    HTML5的一次大改进就是支持在浏览器中直接播放视频和音频文件,以前都需要插件才能实现此类功能。

    8.引入可编程内容

    HTML5最大的变化就是引入了需要通过JavaScript编程才能完成的各种效果,而这些很多都是HTML5原生的。那么现在HTML5可以理解为HTML+CSS+JavaScript的总称。

  • 相关阅读:
    内核初始化. Part 4【转】
    fixmap addresses原理【转】
    linux内核调试项【转】
    Linux Suspend流程分析【转】
    Linux电源管理-Suspend/Resume流程【转】
    Linux驱动开发常用调试工具---之内存读写工具devmem和devkmem【转】
    内核regmap机制【转】
    ARM NVIC控制器(基于cortex-M4)【转】
    Linux设备树语法详解-中断【转】
    [Go] 第一个单词首字母变大写:Ucfirst(),第一个单词首字母变小写:Lcfirst()
  • 原文地址:https://www.cnblogs.com/xinghun/p/5725526.html
Copyright © 2020-2023  润新知