现状与未来

   

1. HTML5 的现状与未来

如果你一直关注 Web ,你可能认为 Flash 播放器和 Silverlight 已经进入生命倒计时,而 HTML 5 则正在迅速改变 Web 上的一切。然而,实际上许多正在评价 HTML 5 的人并不完全理解当前的领域。你知道 HTML 5 标准的编者 Lan Hickson 曾说过“在 2022 年以前 HTML 5 不会被在所有浏览器上完全实现”吗?你知道 iPhone 开发者现在已经可以完全使用 HTML 5 ?你知道 HTML 5 中的所有功能都来自于 Web 插件?你知道谷歌在其产品 Wave 中使用了一个 Web 插件吗?

我们需要对 HTML 5 以及它对 Web 的意义进行一次开放而坦诚的探讨。不幸的是,你不会从狂热的任何一方获得真相,而是需要我们检查所有的事实证据,然后得出我们自己的结论。在分析这个事实的过程中得出了几个观点。

1.1          现状

在经过许多专注开发者的努力工作后, HTML 5 已经基本准备就绪。这个过程从 10 年前已经开始,到今天为止经历了多次反复。今天, HTML 5 已经在许多平台 / 浏览器上准备就绪。但是,并非所有浏览器实现了这个标准的全部功能,而且某些浏览器甚至还未宣布何时将实现完全支持 HTML 5 。事实上, iPhone 操作系统 3.0 是目前唯一完全支持 HTML 5 的稳定版操作系统。对开发者来说这意味着,对多数开发者来说, HTML 5 依然是很遥远的事情。

为客户提供解决方案的开发者并不在乎理论,他们关心的是现实。按照这个说法,如果一个解决方案的目标客户只有全部客户的 10% ,它就不算一个成功的解决方案;如果它只能被 90% 客户使用,同样也不算一个好的解决方案。客户希望网站或应用程序能够适合目标客户中的每一名成员,而且是现在就能满足。这就是第一个观点:

观点 1

至少在 2014 年之前,开发商将无法在为客户提供的解决方案中使用 HTML 5 (除非他们是在一个如上所述的特定平台上)。至于在解决方案中使用 HTML 5 的全部功能,则将会更晚。

开发者可以考虑创建同时利用 HTML 5 和当前的 HTML/JS 模式的解决方案。不过,这意味着开发商将不得不创建一个单一解决方案:

1、  浏览器能自动探测并确定用户具备使用 HTML5 的能力;

2、  一个针对目前或更老版本浏览器的全功能 HTML 4.1/XHTML 1 应用程序:

(1) 多个支持 IE6 IE7 Firefox 3 Safari 3 CSS 文件;

(2) 兼容上面列出的所有浏览器的 JavaScript

3、  全面支持 HTML 5 的应用(其中将与 HTML 4.1 应用程序几乎没有重叠的代码)

对那些狂热于应用 CSS JavaScript 的开发者来说,这只不过又增加了一层复杂性。事实上, 对于传统的开发者来说,直到 90% 以上的网络使用支持 HTML5 的浏览器的时候, HTML5 才会进入他们的选择。请记住,尽管 IE6 早在 8 年前( 2001 年)就已经推出了,但是大多数网站还在检查 IE6 的用户。

1.2          插件的真相

最近许多文章声称 HTML5 将逐个消灭传统网络插件。实际上,这与事实相差太远。在直接谈到这个问题之前,我们需要仔细看看什么是网络插件。

当列出网络插件时,大多数人都会意识到,常见的包括 Adobe Flash Player Microsoft Silverlight JavaFX 等。然而实际上它还包括谷歌 Gears 、谷歌本地客户端( Google Native Client )、谷歌地球插件( Google Earth plug-in ),以及谷歌音频 / 视频聊天插件等网络插件。此外,除了 Google 的插件,还有不计其数的的其他厂商的插件。由于这些插件是“封闭源代码”项目的事实,它们经常遭到诟病。事实的真相是,插件有一个快速开发周期来引导创新。并不是说在开源项目中它不可能发生,但是需要为真正客户开发最先进的解决方案,不能期待真正创新的网络标准,更多是已经被实施的网络标准:

观点 2

网络标准不会永远创新,它们只会执行那些已经成功包含的插件。

这源于这样一个事实:标准化进程是由微软、谷歌和 Mozilla 等公司所主导的,除非这些公司已经在某个产品开发方面占有一席之地,否则他们不会投资于在这方面建立某项标准。术语标准化意味着你把已经存在的东西拿过来,然后为实施它建立一个统一的过程。

此外,许多开发商不承认插件在 HTML 5 标准中的作用。由此产生了另外一个观点:

观点 3

HTML 5 中的每一个新功能之所以被增加,是因为开发商需要一个已经被以插件形式实现的功能。这包括离线缓存( Google Geas 、画布( Flash 播放器)、媒体播放( Flash 播放器等)、拖放( Flash 播放器等)等等……

处于这场争论最前线的是谷歌 Wave ,最近谷歌在其 IO 大会上宣布了这个产品。这个富互联网应用已被称为 Web 标准作用的一个伟大例子。然而,没有人指出它需要一个插件才能运行这个事实。的确,证明 HTML5 能够做什么的实例,需要谷歌 Gears 展示它的部分功能。事实上,它仅是一小部分功能,但是它揭示了一个重要的观点。

观点 4

谷歌可以选择通过标准化进程,来尝试在推出 Wave 之前添加拖放功能,但是他们认为如果没有这一功能,用户体验将会变糟。于是他们选择使用插件来提供最佳的整体用户体验。

事实上,插件可以在一年之内就“升级网络”。在现实生活中,一个想法可以通过生产、质量评价和发布给用户,然后在 16 个月内被推广到 85% 以上的的网络。但是 Web 标准难以做到这一点:

观点 5

由于涉及到大企业和实体,任何重大的改变(需要浏览器发行商以统一的方式改变浏览器的功能),从最初的想法到实际执行(在所有浏览器)至少需要十年的时间 。另外加上使用旧版本浏览器的用户升级的时间,该过程还需要多花 5 年多时间。

如果 HTML5 被当前所有主要的浏览器完全支持,并且如果所有这些用户使用了这些升级后的浏览器, Web 插件将会遭受到来自 HTML5 的沉重打击(但是即便如此,它也不会完全消灭它们)。在现实生活中, HTML 5 甚至无力与 Web 插件竞争,因为它是目前唯一可行的固定平台解决方案(像 iPhone )。

1.3          质量与标准

许多开发商在追求 Web 标准时却忽视了质量。这是视频编解码器争论的核心所在(围绕 HTML5 也有很多这类问题的例子) 。开发商选择在相对开放的基础上去评估解决方案,而不是注重其实际的功能。过去的五年告诉了我们什么?我们最终将会进入一个用户体验至上的时代,但是现在一些开发商为了开放性而牺牲了质量。

观点 6

许多开源解决方案处于各自领域的顶尖水平( Apache MySQL Linux Flex Framework 等等)。劣质的解决方案(如 Ogg 编解码器)不能只是因为他们是“开放”的就应该容忍。如果您想要所有的浏览器执行一个视频编解码器,那就做一个优于 H.264 的。在使用“开放”解决方案时,开发商绝不应牺牲用户体验的热情。

当一个潜在客户评判公司的工作时,他们不会关心网络标准,他们关心的将是工作的质量和功能。此外,当用户使用公司的应用软件时,他们不会在意“开放性” ,而只在意整体功能和用户体验。作为一名开发人员和公司的雇员,不能推荐劣质的解决方案。必须基于能保持竞争力的功能来评价所有的解决方案。这意味着,如果 HTML5 将来能够提供更好的功能,它将会是一个好的解决方案,但是, HTML5 将与其他解决方案在平等的基础上参与竞争。

1.4          未来

希望这些意见能够全面阐明这个问题。问题的关键是:特定平台的开发人员现在就可以享受 HTML5 。现在他们就应该拥抱它,开始学习 HTML5 并用 HTML5 工作。传统的开发人员将必须等待大约 5 年时间才能真正选择 HTML5 。到那个时候,我们可能已经拥有 Flash Player 13 Silverlight 5 JavaFX 3 。谁知道这些版本将包括什么呢?但是,我们可以猜测到,它们包含的功能很可能将包括在未来版本的 HTML 中。


 

2. 结论

本文主要探讨了 HTML5 改进的 web 表单、用户交互、离线存储等新特性,以及现阶段企业应用所面临的各方面的问题,诸如信息安全的管理、对信息实时性的要求、数据存储与客户体验等方面的挑战,并结合以上研究成果分析 HTML5 新技术对企业应用带来的影响。

经过分析发现: HTML5 将会在页面信息交互、开发人员编码、服务器存储等方面给企业应用带来利益。但由于 HTML5 还处于草案阶段,对网络安全方面考虑不到位,致使其在离线数据库方面安全控制不足。不过相信在不久的未来这些问题会得到恰当的解决。

现阶段对于 HTML5 来说,面临的挑战仍然是跨浏览器如何保持 HTML5 显示一致这一问题。各家浏览器厂商对于 HTML5 有各自不同的想法。就 HTML5 对视频编解码的支持方面,各厂家就持不同的态度,正如 HTML5 的编辑 Ian Hickson 的说法, HTML5 的最终提议草案要等到 2022 年才会发布。

虽然 HTML5 的一些新特性很值得欣赏,建议还是需等到 HTML5 成熟之后使用,以免造成意料之外的损失。

最后说明一点,由于相关资源、时间有限,文章中的观点主要来自网络论坛,有些论据或许有偏颇牵强之嫌,有待进一步给出事实依据。在后期的样例程序中将给予论证。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章