13.1 HTML5的历史

HTML5的发展历程

随着 Web 应用程序的范围越来越广,JavaScript的功能局限性也渐渐引起了人们的注意。仅靠JavaScript 无法实现数据的永久保存、套接字通信、音乐与视频的播放等在桌面应用程序中常见的功能,于是在一些特定领域,Web 应用程序的发展要慢于桌面应用程序。

浏览器插件的普及

在此之前,为了弥补 JavaScript 所缺少的功能,采用的是 Flash 或 Silverlight 等插件。也就是说,尽管有这样的需求,但这些功能并没有被作为浏览器的标准功能被提供。

即使如此,如果有浏览器开发商率先实现了某一个新的功能,但没能在所有的主流浏览器中得到支持的话,这一服务还是不能得到进一步利用。因此,从功能扩充的角度来说,在很长一段时间里,仍然需要在浏览器中安装 Flash及 Silverlight 等插件。

统一的浏览器标准的制订

HTML5 就是在那些不满于现状的浏览器开发商的共同合作下诞生的。为了更有效率地实现功能的扩展,必须要有统一的标准。

但是,现在广泛普及的 HTML 的标准制定止于 1999 年 W3C 所推荐的 HTML4.01 版本。虽然 W3C 对 XHTML 的普及付出了很多的努力,但最终 XHTML 并没能像预期的那样得到普及。因此,对 W3C 的方式怀有不满的Apple、Mozilla、Opera 成立了名为 WHATWG 的社区。WHATWG 的目的是通过与当前 Web 发展状况相适应的方法,制订与 Web 相关的技术标准,并将其反馈给 W3C。

HTML5标准制订的起步

在历经这一发展阶段后,W3C 终于与 WHATWG 开始了合作,制订 HTML5 的标准,并在 2008 年 1 月 22 日发表了第一份 HTML5 草案。在执笔本书时,最终版本的草案(2011 年 5 月 25 日)已发表,今后 W3C 将按照下面的进程逐步使 HTML5 成为推荐标准,并以 2014 年完成这一推荐为目标。

  • 草案(Working Draft)
  • 最终草案(Last Call Working Draft)
  • 推荐候选(Candidate Recommendation)
  • 推荐方案(Proposed Recommendation)
  • 推荐(Recommendation)

13.2 HTML5的现状

13.2.1 浏览器的支持情况

PC

当前,针对 PC 的浏览器市场正处于一种 Internet Explorer(IE)、Firefox、Chrome、Safari 及 Opera 等浏览器在相互争夺份额的情况。如果希望在这些针对 PC 的浏览器中提供使用了 HTML5 的服务的话,需要注意一个问题,即 IE(6、7、8)几乎不支持任何的 HTML5 的相关功能,并且它们的市场占有率相当高,让人无法忽略。

Microsoft 声称将从 IE9 开始加强对 HTML5 的支持,并且也确实在 IE9 中实现了很多的 HTML5 的相关功能。

因此,如果要通过 HTML5 来提供针对 PC 的服务的话,则需要区分不同的浏览器。但是
,在这种情况下,检查浏览器的种类或版本等并替换处理方式的做法不易管理,所以通常会
在执行 JavaScript 时判断所需功能是否被支持以选择相应的处理方式。目前,可以通过
Modernizr 3 等工具能够实现这一功能。

智能手机

如果将目标限定于智能手机,情况将与 PC 有很大的不同。之所以这样说,是因为市场份额正在迅速增加的 iOS 与 Android 这两个针对智能手机的 OS 都默认使用了基于 WebKit 4 的浏览器。特别是在日本,iOS 与 Android
占据了非常高的市场份额,所以只要对 WebKit 提供了支持,就能够支持几乎所有的智
能手机了。

因此,在开发针对智能手机的 Web 应用程序时,几乎不需要考虑跨浏览器支持的问题。甚至可以说,智能手机是现在最容易进行 HTML5 开发的领域。

电视机

并不是只有 PC 与智能手机才会安装浏览器。现在日本厂商制造的很多电视机中都装有基于 NetFront 这一针对嵌入式设备设计的浏览器的定制版浏览器。目前这些浏览器几乎还不支持 HTML5 相关的功能。

最近索尼终于在其电视机中预置了 Opera 浏览器,以此为开端,使用 HTML5 的功能强大的 Web 应用程序开发环境也日趋成熟。加上 Apple TV 与 Google TV 等产品的开发,电视机浏览器这一领域今后的动向也受到了人们的瞩目。

13.2.2 Web应用程序与原生应用程序

从 Gmail 开始,已经出现了很多以 Web 应用程序的形式提供的实用程序。与过去相比,使用原生应用程序的机会少了很多。而最近的浏览器甚至实现了 3D 图形的渲染功能,这一势头让人不禁觉得总有一天所有的程序都会改以 Web 应用程序的形式存在了吧。

不过,无论浏览器的扩展功能如何发展,只要浏览器还是一种原生应用程序,它在能够实现的功能方面就不会有什么优势。即使如此,支持将浏览器作为一种应用程序平台也是有其理由的,其中之一就是开发的成本问题。

例如,通常情况下在针对智能手机的原生应用开发中都需要使用 OS 开发商所发布的 SDK。大致说来,就是对于 iOS 终端主要使用 Objective-C、对于 Android 设备主要使用 Java、对于 Windows Phone 7 7 设备则会使用 C# 或 Visual Basic 以进行开发。在程序设计语言与 SDK 的学习、应用程序的实现、今后的后续修改等方面,所花费的成本将会与需要支持的平台数量成比例上升。

而 Web 应用程序正是解决这一领域问题的最佳方案。通过 HTML/CSS/JavaScript 开发的 Web 应用程序能够通过浏览器运行于所有的智能手机上。在目前的智能手机应用开发中,Web 应用程序几乎可说是实现跨平台支持的唯一手段。

13.3 HTML5的概要

W3C 为了使 HTML5 得到广泛普及而为它提供了各种图标。使用了 HTML5 及其相关技术的页面或应用程序将显示其徽标以对 HTML5 的使用进行宣传。通过在徽标中列出具体的图标还可以明确地标识出其中具体使用了哪些技术(图 13.1)。

提供了这些图标的站点将图标与相对应的 HTML5 及其相关技术分成了 8 大类,以使人们能对 HTML5 所提供的功能有一个整体的把握。

图13.1 HTML5徽标(全套)

image

表13.1 HTML5及其相关的技术的分类

image

表13.2 HTML5相关的API一览

image

版权声明:本文为原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Huang-zihan/p/16222293.html