关于HTML5现状与未来的观点碰撞

日期: 2009-10-28 作者:51CTO 来源:TechTarget中国 英文

  如果你一直关注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的意义进行一次开放而坦诚的探讨。不幸的是,你不会从狂热的任何一方获得真相,而是需要我们检查所有的事实证据,然后得出我们自己的结论。我已经花费了大量时间来分析这个事实,在这个过程中我得出了几个观点。

  现状

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

  当去年9月看到Jeff Croft的“2022年”说法的时候我非常震惊。它反映出了许多开发者对Web标准整体的失望。我没有与Jeff讨论过这个问题,我一直是他的研究成果的粉丝。在获悉实现HTML 5完全支持的这个残酷最后时限时,Jeff表示,“HTML 5是在下周或下个月或未来15年后推出,这并不重要。对我们这些在这个行业从事实际工作的人来说,重要的是人们真正使用的浏览器支持哪些规范和技术。”

  为客户提供解决方案的开发者并不在乎理论,他们关心的是现实。按照这个说法,如果一个解决方案的目标客户只有全部客户的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的用户。

  插件的真相

  本次讨论的核心是我们今天使用的网络插件。最近许多文章声称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 )。

  质量与标准

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

  观点6:

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

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

  未来

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

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • AWS MEAN堆栈+JavaScript=快速搭建应用

    开发人员在构建Web应用时有许多选择。市面上有无数的框架和语言可选,而像AWS这样的云平台可以方便地部署和扩展应用程序。

  • JDK 8u40更新:新增功能抢先看

    俗话说长江后浪推前浪,一代新人换旧人,Java更新版本交替,也是这样一个道理。甲骨文又给Java添加了哪些新功能。

  • 移动浏览器到云:JavaScript地位正在扩张

    不难发现人们非常喜欢在前端开发中使用JavaScript。但是,令我们惊讶的是后端开发也如此青睐JavaScript,促进了基于云和基于数据中心的托管应用的发展。

  • 移动HTML5挑战何在?

    当HTML5出现时,许多开发者和应用架构师视之为创建平台独立应用、简化你的设备支持以及当新的移动设备OS版本发布时减少应用相关问题的机会。