HTML 5 发展历史

来源:互联网 发布:大连淘宝客服 双休 编辑:程序博客网 时间:2024/06/06 08:45

  • HTML 5 的历史
    • XHTML 的兴衰史
    • HTML 5 的回归
  • HTML 5 的功能
  • HTML 5 的特点

HTML 5 的历史

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

XHTML 的兴衰史

自从 HTML 4.01 版本之后,掌握着 HTML 规范的万维网联网(W3C)组织没有再发布新的标准,而是围绕着 XHTML 1.0 以及之后的 XHTML 2.0 展开工作。XHTML 是基于 XML 、致力于实现更加严格并且统一的编码规范的 HTML 版本,解决之前的 HTML 4.01 版本时,由于编码不规范导致浏览器的各种古怪行为。所以,Web 开发者对 XHTML 非常的用户。XHTML 极大的好处,就是强迫开发者养成良好的编码习惯,放弃 HTML 的凌乱写法,最终降低了浏览器解析页面的难度,方便移植到更多平台。

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

HTML 5 的回归

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

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

HTML 5 的功能

HTML 5 到底涵盖了哪些功能?这些功能到底在主流的浏览器支持情况如何?
1、HTML 5 核心: 这部分主要由 W3C 官方的规范组成,涉及新的语义元素、新的增强的 Web 表单、音频和视频、以及通过 JavaScript 绘图的 Canvas。这部分大多数主流浏览器均得到很好的支持;
2、曾经的 HTML 5 标准: 这部分主要来自于最初制定的 HTML 5 规范,其中大多数功能需要 JavaScript 且支持富 Web 应用开发。比如:本地数据存储、离线应用和消息传递;
3、非 HTML 5 标准: 这部分通常指下一代功能,虽然从未进入 HTML 5 标准,但人们还是会把它认做 HTML 5 的一部分。这些包括最为常见的 CSS3,以及很热门的地理定位。

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

HTML 5 的特点

在 HTML 5发展的同时,XHTML 2.0 也在不断发展,那么到底是哪些特点导致 HTML 5 取得最终的胜利呢?

  • 向下兼容
    对于 XHTML 2.0 要求遵循规则,否则不予显示的方式,HTML 5却实行“不破坏 Web”的原则。也就是说,以往已存在的 Web 页面,还可以保持正确的显示。
    当然,面对开发者,HTML 5 规范要求摒弃过去那些编码坏习惯和废弃的标签元素:而面对浏览器厂商,要求它们兼容 HTML 遗留的一切,以做到向下兼容。

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

  • 化简为繁
    HTML 5 对比之前的 XHTML ,做了大量的简化工作。具体如下:
    (1)、以浏览器的原生能力代替复制的 JavaScript;
    (2)、DOCTYPE 被简化到极致;
    (3)、字符集声明被简化;
    (4)、简单强大的 API;

  • 无插件范式
    在 HTML 5 出现之前,很多功能只能通过插件或 hack (如绘图 API)来实现,但 HTML 5 原生提供了这些支持。使用插件有很多问题,具体如下:
    (1)、插件安装容易失败;
    (2)、插件被浏览器或软件禁用屏蔽(如 Flash 插件);
    (3)、插件经常会被爆出漏洞被利用攻击;
    (4)、插件不容易与 HTML 文档其他部分继承(比如整体透明化等)。

  • 访问通用性
    这个原则分为三个概念:
    (1)、可访问性:比如更加利于残障人士的阅读方案;
    (2)、媒体中立:比如 HTML 5 的媒体播放在不同设备或平台均能正常运行;
    (3)、支持所有语种:比如新元素 <ruby>

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

  • 引入原生媒体支持
    HTML 5 的一次大改进就是支持在浏览器中直接播放视频和音频文件,以前都需要借助插件才能实现此类功能。

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

原创粉丝点击