HTML5:正在发生的未来

<![CDATA[

今天的互联网和移动互联网中,HTML5已成为热门话题。令人着迷的是,它最大的魅力并不在当下,而在未来。

  乔布斯留给世界的最后一个预言,可能就是关于HTML5的那个新标准。

  在“Thoughts on Flash”的文章结尾,乔布斯预言:“HTML5 等新的标准会在移动设备以及个人电脑上赢得胜利。Adobe 未来更应该聚焦于打造优秀的 HTML5 工具……”乔布斯携数以亿计的苹果设备坚定地站在了HTML5阵营里。

  2011年10月5日,乔布斯去世。一个月之后,Adobe公司宣布停止移动终端的Flash开发,将注意力转向HTML5。

  是的,他又一次对了。

  “宽容者”赢得胜利

  HTML5不是今天才有的发明。为了更为系统和有趣地描述出一个真实完整的HTML5,我们先从它的诞生说起。(数字“5”说明在它前面还有几个哥哥,但我们不会从HTML那个混乱不堪的1.0时代开始讲故事,因为那会是一个更漫长的旅程,远远超出我们的篇幅)

  1997年,W3C(万维网联盟)发布了HTML4.0版本。令人惊讶的是,随后联盟解散了HTML工作组——W3C宣布停止在HTML基础上的版本迭代演进,转向开发更为严谨的XHTML标准。

  从技术架构角度看,W3C做出这个决定的初衷是正确的。传统的HTML标准遵循更为“宽容”的代码检验解析方式,即使你的HTML网页里有几处错误,浏览器依然会通过自动纠错的方式保证页面可以正确显示。因此,错误也就永远无人改正。“今天的互联网上,可能超过99%的HTML页面至少有一个错误,”Google高级研究员Mark Pilgrim曾做出过这样的估计。

  而XHTML是严格的。W3C希望通过一个严谨的标准让互联网的未来发展更为规范,网站的代码架构更加清晰化。但问题就出在这里:

  前面我们提到,99%的HTML网页可能都存在错误,如果要用严格的XHTML标准去解析,用户只能看到一个个错误界面。因此,就算开发者愿意用更认真的方式去写今后的互联网代码,但已经存在的海量网页谁来重写?

  于是,XHTML的推广一直没能得到很好的响应。时间到了2004年,W3C内部开始出现一些讨论,能否以另外一种方式解决当前的问题。Opera软件组和Mozilla基金会提出了一项基于HTML 4的演进计划,希望在传统HTML的框架下更为“宽容”地推进向下一代HTML。(在草案中特别提到了“向后兼容性”。)

  随后的投票中,这一提议以8票 : 13票没能在W3C内部获得通过。

  Opera和其他共同提案者做出了一个新的决定:在保留W3C成员身份的前提下,成立WHATWG这一民间组织,与W3C并行研究下一代HTML。当然,他们走在不同的道路上。

  回忆 起 这次“ 分家”,W3C HTML5中文组主席,Opera欧朋首席标准官谢子斌表示,虽然今天有人把它看做一次纠纷,但实际上,当年的一切操作都是“坦诚而透明的”,整个议程和投票在网上都有记载。

  W3C决定将对代码规范要求更严格的XHTML标准向前推进,而WHATWG的目标是基于更为“宽容”的HTML4开发下一个版本。随后几年里,WHATWG试图让浏览器对网页代码各种错误自动纠错并形成文档——这意味着大量的工作。在并行前进的这段时间里,双方的“竞争”关键点就是时间——看谁能率先提供能用并且好用的东西来。

  2006 年,WHATWG 在 HTML上首先取得了突破性进展,而此时W3C的XHTML2.0依然是一个未实现的理论状态。更为重要的是,整个互联网和众多开发者要求被宽容对待——具备 “向后兼容性”的下一代HTML成为了众望所归的选择。

  随后不久,W3C创始人Tim Berners-Lee宣布,将与WHATWG小组联合开发下一代HTML,同时W3C依然不想完全放弃XHTML——你可以从Tim Berners-Lee的发言中明显感受到这种情绪:

  有些东西,多年后再看,会更清楚。企图让整个互联网一下子切换到XML并不现实。有些大型社区转换过去了,并得到了结构良好系统带来的好处,但大多数HTML开发者不为所动……因此,渐进式维护HTML是重要的,但同样,不断地过渡到良好结构的世界(即更严格的XHTML)也同样重要……”

  也许是因为互联网的本质是自由的,也许是因为海量的“史前”网页由不严格的代码书写……总之,到了2009年10月,W3C宣 布 解 散XTHML 2小组。

  之后的故事大家都知道——HTML5火了。

  在XHTML与HTML5的竞争中,浏览器厂商的站在哪一边呢?Opera欧朋的专家回顾当时的情况:“如果使用XHTML,会有海量的网页需要重写,否则将无法在浏览器中显示。”作为浏览器厂商,在没有看到开发者愿意去修改错误网页之前,肯定不会贸然使用更严格的XHTML标准。

  HTML5工作组与兴趣小组

  W3C与WHATWG合 作开发下一代HTML,并很快将其命名为HTML5。但两个组织并非合并,依然是保持着相对独立性。两个组织中很多成员实际上是重合的,并且,W3C HTML5总编辑Ian Hickson(今年年初辞职)也同时担任了WHATWG总编辑,双方的合作保证了HTML5标准的快速发展与推广。

  在W3C HTML5工作组中,成员来自浏览器厂商,运营商,硬件厂商,高校研究院等领域。其中,浏览器厂商会有稍微比较特殊的身份,因为他们是站在最前线的实践者。同时,随着HTML5与底层硬件的互动越来越多,硬件厂商的参与度也越来越高。

  在HTML5工作组中,成员可以对标准提出各种建议、需求和修改意见。工作组的运转模式有些像联合国,它有一个“常任理事国”,即HTML5工作组的总编辑。对于成员提出的标准和建议,如果在群体讨论中无法达成一致意见,则提交给总编辑做最终判定。总编辑不是无限任期制,成员有权利选举新的总编辑人选。上一任总编辑Ian Hickson辞职后,这个职位目前由几个人同时担任(每位编辑负责不同的领域)。

  目前在HTML5工作组之外,还有三个地域性兴趣小组:中文组,日文组和韩文组。作为中文小组的主席,谢子斌很满意当前小组的工作进展。“目前HTML5中文组成员有700多位,分别来自不同的企业和组织。小组主要工作包括翻译HTML5相关规范文档,向全球工作组提交中文互联网的独有需求,以及提交其他全球性的需求。”

  中文组内部会经常开会讨论,同时,中日韩三个兴趣组也常常互动。明年W3C大会将在日本举行,“到时候中日韩之间会有更多的交流。”

  标准组织的成员大部分还有另外一个身份,相关厂商和机构的工作者,这让事情看上去有些奇怪。因为互联网是开放的,各项标准的起草和发布,最终将被所有人共享。商业利益如何与互联网精神平衡?在谢子斌看来,这是互联网的魅力所在,“如果Tim Berners-Lee当年没有贡献出第一个HTML标准,也就不会有如此多的人用到它,他也不会成为互联网之父。如果当年Hakon Wium Lie没有把CSS标准贡献出来,CSS就不会普及,他也不会成为CSS之父……”这个道理也同样适用与HTML5标准——Ian Hickson对于HTML5做出了重大的贡献,这位先后任职于Opera和Google的工程师,最终让HTML5走向了辉煌,并带动Opera和Google成为这一领域的领导者。

  这是一个集合,但它会有边界

  HTML5更像

是一个很多特性的集合,它未来会不会被无限的扩展?

  对于HTML5工作组来说,这确实是一个令人头痛的问题。随着HTML5得到越来越多的认可和应用,新的需求、功能和特性像雪片一样飞来。如果任由这样下去,HTML5永远不会有完成的一天。于是,经过讨论,工作组给HTML5的特性集合划定了一个明确的边界。

  “边界以内的东西是要在HTML5这个版本中实现的。而在范围之外的特性和未来可能提出的新特性,将被放到HTML.Next版本里。只要圈定的内容全部实现,HTML5就会是一个成熟版本。”谢子斌告诉我们,最终的HTML5预计将在2014年底正式成为标准。

  实际上, 目前 的HTML5已经具备了较高的可用性。在互联网和移动互联网上,HTML5为用户提供了视频,游戏,应用,以及更加丰富的网页效果呈现……对于熟悉HTML的开发者来说,过渡到HTML5并不是一个困难的过程。至于标准中尚待完善的内容,主要集中在更前沿和更深度的部分,例如3D渲染等。“到2014年底,如果HTML5完全成熟,会发挥更大的力量。” 谢子斌对未来充满信心。

  尚未结束的战争

  HTML5有两个主要的对手,原生APP和Flash。

  HTML5与原生APP的争论,是一场真正的持久战。最早HTML5是为网页开发准备的,但在移动终端上,各种原生APP的迅速普及让浏览器变得地位尴尬。这是在PC互联网上从未有过的事情。于是,人们尝试用基于HTML5等新的技术标准来开发Web APP以替代原生APP。

  可是原生APP太强大了。与之相比,HTML5的应用在性能和功能上都存在差距。我们听到了很多的抱怨,来自开发者,来自用户,最近的一次来自扎克伯格。但实际上,每一次人们抱怨的重点都在变化。最初我们抱怨HTML5页面渲染表现不如原生APP,随后这个问题得到了解决;新的抱怨又出现,可能是针对游戏方面的支持,或是其他领域。在谢子斌看来,“这其实代表了HTML5正在逐渐进步。三年前,人们谈HTML5,更多是对于网页的需求。今天,人们则希望HTML5可以取代原生APP。期望越来越高,进步的动力也就越来越大。”

  受技术标准本身的发展阶段所限,以及网络带宽的影响,HTML5应用与原生APP比较,目前确实处于追赶的位置。但3G门户副总裁高峰眼中,HTML5自身的独特优势更值得肯定。首先HTML5不需要安装。原生APP会占据大量的手机硬件资源,因为它必须被下载到本地才可以使用。而HTML5的应用是基于网页的,不占用本地空间,随时访问随时使用。

  其次,和传统网页相比,HTML5提供更丰富的实现效果。在上网这一通用性需求上,HTML5比传统的网页表现得更好。

  第三,HTML5是跨平台的。目前智能手机操作系统很多,原生APP是要与单一系统适配的,需要为不同系统分别开发APP,从制作到维护都是复杂工作。而HTML5的Web属性意味着它可以跨越不同系统平台,只要把网页做好,iOS、Android、Window Phone、Blackberry等手机都可以访问。这会帮助企业降低成本。

  此外,HTML5可以实时推出新特性,用户每次访问网页都即刻获得最新的内容。而原生APP哪怕更新一个微小的部分,都需要用户手动下载和升级版本。

  产业链对HTML5的态度同样重要。一项技术仅有价值并不够,还需要产业链各方同推动,才能发展起来。“HTML5在自身技术不断发展的同时,主流浏览器对HTML5的支持也在不断加大。内置支持或部分支持HTML5浏览器的终端数量迅速增加,各互联网服务商也竞相推出支持HTML5的平台和工具……”百度技术委员会理事长陈尚义,给出了他看好HTML5未来的另一个理由。

  HTML5打开了原生APP各自封闭的局面,基于浏览器的跨平台属性让数据、用户和流量可以自由流通和共享。在可以预计的未来,原生APP与HTML5可能会长期共存——在有些领域里,用HTML5实现更好,在另一些领域里,原生APP更适合。“原生APP在对性能要求高的应用,例如大型游戏,可以提供更好的支持;而如果要做一个互动性很强的应用,HTML5可以提供跨平台和快速更新等支持。” 谢子斌希望越来越多的开发者可以投入其中,“HTML5依然有广阔的未知领域和实践经验需要去探索和积累,开发者的参与度尤为重要。”

  HTML5与Flash之间的故事就快看到结局了。在移动端,随着Adobe宣布停止Flash移动版本开发而转向HTML5,HTML5取得了压倒性优势。这里还应该对乔布斯说一声谢谢,海量的苹果设备在这场战争中发挥了重要影响。在PC端,目前Flash与HTML5的竞争还在进行,但趋势和走向渐渐清晰。目前,由于像IE6这样的老版本浏览器并不支持HTML5,但它们的装机量依然很大——这导致了视频网站在支持HTML5同时,继续保持对Flash的支持是非常必要的。Flash在PC端不会如移动端那样轻易认输,作为一项有16年发展史的成熟技术,Flash在很多地方依然具备HTML5力所不及的优势。同时,HTML5成熟标准的发布还需要时间,在这段时间里,在HTML5正式发布后的共同竞争中,Flash还有足够的时间去提升竞争力。

  未来可以期待吗

  每一个看好HTML5的人,其实是更看好它的未来。

  越来越多的开发者学习和掌握HTML5,投入其中。很多关于HTML5的技术网站和论坛建立起来,人们分享各自的开发经验,好玩的实现应用,提出疑惑,寻找解答。如果你愿意抽出时间,到这些网站去转一转,就会发现,真正推动HTML5不断前行的力量,就隐藏在其中。

  同样,相关的技术专家与软件公司也在努力为HTML5提供更好的支持。在预期的2014年底,HTML5正式标准会发布。但它有一个前提,W3C要求至少有两款软件(主要指浏览器)完全通过所有的测试案例,HTML5才会成为W3C认可的一个推荐标准。在桌面端,几大主流浏览器的HTML5支持评分从2009年的100分档迅速进步到今天的400分档;在移动端,各浏览器得分从开始的50分,提升到了今天的近500分。每个人的努力都被记载下来。

  这些数据可在html5test网站上随时查阅。目前Maxthon、Chrome和Opera占据桌面端前三名,而在移动端,Opera、Chrome和Firefox成为领先者(截至2012年10月24日)。

  而这样的竞赛并未停止。浏览器厂商仍在继续开发新的版本,以期待为用户和开发者提供针对HTML5的更好支持。陈尚义告诉我们,百度手机浏览器的内测版,对HTML5的支持“已经达到了500分的满分”。

  未来HTML5取得突破进展,可能出现在三个方面。一是浏览器,如果各个浏览器对HTML5支持度更高,HTML5的性能和表现就会越好。二是带宽,原生APP通过一次性下载,将下载时间集中化,用户在平时使用中,很少感受带宽影响。而Web APP由于需要经常通过网络获取数据,如果带宽可以更高,HTML5在使用体验上会得到更大提升。三是硬件,今天的HTML5已经扩展到可以调动各种硬件模块,因此设备硬件的性能提升会给HTML5带来更多的实现可能。

<

p >  如果我们愿意把目光看向更远方,HTML5的发展不应该局限于网页和Web APP。Flrefox给了我们一个惊喜,他们发布了一款基于HTML5的Firefox OS操作系统,将HTML5推向了系统级核心层次。“HTML5未来可以走的更深更远。” ]]
>