面向万维网(WWW)的软件开发人员认为新的 HTML5 规范正在革新现有 Web 系统的呈现、工作、使用方式。他们说 HTML5 简化了程序员的工作,使访问多种多样的设备和应用程序更加方便,并且提供了很多迷人的新特性。虽然目前,HTML(HyperText Markup Language)仅仅是提供一种对文档不同部分的标记,使得浏览器能够智能的处理(显示)。
一个不起眼的对网页的标记机制为何有这么大的影响? HTML5 引起的广泛关注是否仅仅是一时的科技狂热? 总之,为什么计算机专家需要关心这个呢? (HTML5 引起的)广泛关注是合理的,其解释的难点在于 HTML5 可以看作是一个单独的规范,也可以看作是一系列技术的集合。
Thanks to HTML5, developers can now enable transparent access to geolocation information without having to write separate code for each browser and device.
虽然标记语言从二十年多前开始就已经是网页应用(Web Software)的核心, HTML5 的概念(比之前的 HTML )要宽泛,包括一个新版本的标记语言及其附属的标准,包括访问和操作 HTML 文档结构(DOM)的标准;(新的)级联样式表(CSS)标准,用于定义 HTML 文档的外观和呈现方式;以及 JavaScript 脚本语言。“HTML5” 这个术语甚至包含了特定的应用程序结构(API),例如基于浏览器支持的图形 API 、地理信息 API 、本地存储 API 和视频播放相关的 API 等。
同时,HTML5 还是 W3C 开放网页平台(Open Web Platfrom)的核心。开放网页平台是 W3C 针对标记语言和一系列相关技术的统称,其内容随着时间的发展而变化。
参与了HTML4 等标准制定的 W3C 编委 Ian Jacobs 表示,随着互联网的增长和强大, 术语“HTML”包含的内容比以前更多,大家对其定义的认识也日趋成熟,而它的涉及范围也在增加。经过二十多年的发展,Web 已经从一个差不多静态的文档显示功能过度到了应用程序的平台。
在这场革命的背后有两股力量, Jacobs 说。第一股力量是设备及浏览器的多样化,使得开发人员所需的工作日益复杂,而他们希望能够“一次编写,到处部署”。第二股力量是现在的 Web 与社交网络模型的结合,当你进入(Web)时,你能够接触到更多的客户——数量甚至可以达到千万规模。
“开发人员友好”的标准
图形及网页设计营销企业 Ocupop 已经将其所有工作使用 HTML5 实现。“不是每个新标准下的特性都是新的”,Ocupop 网页开发及可用性设计人员 Matthew McVickar 说。“(新标准)是过去使用的技术的典范化。它将过去开发人员尝试做到或希望拥有的东西放在浏览器中原生支持”。例如 HTML5 中提供的地理位置信息的 JavaScript 接口(API),使得开发人员可以直接通过浏览器获得所需信息,不需要调用一个自定义的 API 访问相关的硬件设备。
这些特点对于最终用户来说可能没啥大不了的,但是对码农来说太重要了。通过 HTML5 ,开发人员可以不再需要针对每个不同的浏览器和硬件设备编写不同的代码,这点恰恰是一个标准要做的。
类似的,最近更新的 CSS3 标准允许开发人员在浏览器中就实现以前需要借助如 Photoshop 之类的外部工具才能实现的效果。例如在新的标准下很容易在浏览器中实现标题的阴影效果,并且能够动态的修改,这节省了很多时间。McVicker 说。
McVicker 说新的标准对急于利用网页技术能力的进步的厂商来说提供了一个很好的分析手段。浏览器厂商的产品目前都跟不上(标准的)发展。
HTML5 的“本地化存储”特性使得结构化的会话数据可以保存在客户端。与仅能保存少量数据的 Cookie 不同,本地化存储的能力能够保存大量的数据,使得在网络中断或不稳定的情况下继续服务。同时 HTML5 支持的图形格式更加丰富,例如对嵌入式 SVG 图像格式的支持,新的画布(Canvas)使得用户能够在网页中用 JavaScript 画 2D 或 3D 图形。
Tigher Spces
新的规范对于厂商而言是一个很大的帮助,来自 Google 的工程师 Ian Hickson 对此表示同意。Ian Hickson 同时还参与了 W3C 以及 网页超文本应用技术工作组(WHATWG)。WHATWG 是 Hickson 在2004年建立的一个补充性的标准化组织,包含的成员来自苹果公司、Mozilla 基金会、以及 Opera Software。“我们在 HTML (标准化) 的进程中最大的贡献是显著的提高了我们规范的质量。”,Hickson 说。“过去的标准有很多模棱两可的地方,两个浏览器厂商可能都觉得自己实现了标准,但是两者之间是不兼容的。现在,新规范规定的非常详尽,只要浏览器厂商按照规范来实现,那么浏览器之间必然是兼容的。这需要做大量的工作,同时也是非常重要的。”
另一方面,虽然 HTML5 已经投入使用,但是其标准化的过程还没有结束,不同的公司和厂商的实现还存在差异。它没有指定一个单独的视频压缩标准、流媒体协议、数字版权保护(DRM)。产业界曾经打算将业界事实标准 Adobe Flash 作为 HTML5 的视频标准,但是 2010 年苹果公司在 iPhone 和 iPad 中抛弃了 Flash 技术转而采用自己的包括 HTML5 在内的网页技术(导致此项标准化努力失败)。与此同时,微软和谷歌都有自己的网页视频技术,相互之间不是完全兼容的,不同来的浏览器支持的音频和视频格式也不同。所以目前软件开发人员为了(自己的产品)有更广泛的用户覆盖面,还是需要采用多种不同的技术。
对此,CMU 大学计算机系教授及网络专家 Hui Zhang 解释道,“HTML5 具有强大的发展势头,但是还没有被所有的浏览器百分之一百的支持,因为它还没有定型位一个标准。许多厂商在标准化过程中均有贡献。不是只有视频编解码的标准化存在挑战。厂商知晓标准化对于自己和客户带来的好处,与此同时厂商有需要跟竞争对手有所区别来体现自己的优势。” 他比喻道,“每个人都希望分到最大的一块蛋糕,但是如果每个人都太贪婪,蛋糕就没了。”
Zhang 敏锐的看到网络视频的机会,合作成立了 Conviva 公司,从事改进互联网视频画面质量的产品开发。他说视频是网络上最复杂的信息载体,有关编解码技术、流媒体技术以及DRM技术将成为“最慢标准化的一部分”。
正式的说,如果将 HTML5 限定为超文本标记语言规范,那么其将在 2014 年被 W3C 采纳为推荐标准。“但是其它单独的规范各自成熟程度不同,标准化的时间也不同。” 来自 W3C 的 Jacobs 表示。
W3C 交互领域专家 Philippe Le Hégaret 说,“(HTML5)不是一个产品,可以让我们说‘我们完成了。’ 其覆盖的范围在不断增长。” 目前包括了约 60 个API,还在不断增加中。例如不久前一份在浏览器中进行语音和文本交流的建议被提出,目前正在考虑中。
“还有近乎无穷的功能目前 Web 无法支持,” 来自骨骼的 Hickson 说。在被问到 HTML6 时他说, “HTML 就是 HTML ,我们(WHATWG)早在去年就放弃了后缀数字的命名方法了。HTML 是在不断发展的,就像浏览器一样。只要 HTML 不死,就会一直发展下去。”