2007年,乔布斯断言拒绝Flash并预言HTML5时代来临,IT行业就对HTML5产生了一股宗教热情。HTML5有着许多出众的特性,可以直接在网页上绘图、嵌入音视频、实现信息互动,可以跨越iOS、Android等多个平台,轻易地将网页应用转换成桌面应用……它俨然成了APP的终结者以及下一代移动技术的代名词。

事至今日,已经不会有人再轻视HTML5带来的变革。最近横空出世的火狐操作系统(Fireox OS),就是试图让HTML5应用可以直接内置在手机底层架构上,以便更流畅运行。

不同领域的巨头都在行动,迪士尼收购了一家HTML5游戏开发公司,亚马逊Kindle采用HTML5技术构建书城,Twitter要用HTML5来开发iPad应用,甚至连Adobe都宣布放弃Flash在移动终端上的支持,全面从Google商店撤出,转攻HTML5!在国内也一样:腾讯、搜狐等诸多互联网企业也低调布局浏览器平台化,以HTML5实现各类应用。

但是,就在大家对HTML5寄予高度厚望时,HTML5自身的标准制定却出现了严重的分化。7月份,同为HTML5制定者的WHATWG和W3C表示无法继续合作,前者希望制定一个能够跟随市场或技术动态的标准;后者则要确立一个“死”的标准,一旦正式颁布再也无法修改。

标准一旦分化,开发者将再次面对Web的混乱,曾以跨平台优势而存在的HTML5划时代意义也就不复存在。更坏的结果是,这早已不只是WHATWG和W3C之间的纷争,巨大的市场价值,正蛊惑着每个参与者涉水其中。一直躲在背后的微软、苹果、Google等几大IT巨头是这个标准的开路者,还是掘墓者?究竟,谁才是HTML5真正的主宰?这是一场充满刀光剑影、激烈程度堪比政治斗争的多方势力较量。

的游戏规则?

按W3C的推进计划,HTML5标准正式颁布最快也要到2022年。HTML5标准制定涉及的技术并不复杂,也无需投入任何的研发或者团队,最关键的是能否拉拢到操作系统和浏览器厂家的加入,W3C也清楚这点,WHATWG向它叫板的底气,正是来自Mozilla(火狐的开发组织)、苹果和Opera的支持。

W3C选择了微软。虽然“引狼入室”的做法受到了非议,但事实证明W3C选择微软是正确的。

微软长期我行我素、不顾Web标准的作风受到其他浏览器厂家讨伐,舆论也一致对微软发出了反对的声音。高压之下,微软开始改变态度。当然,微软是不会加入由Mozilla、苹果组成的WHATWG的。

其时,IE市场占有率超过70%,W3C与WHATWG的实力对比一下子就扭转过来,而且不久微软就抛弃了自家的Silverlight技术,彻底投入了HTML5的怀抱。微软CEO鲍尔默甚至在公开场合表达了对HTML5的喜爱:“HTML5是促进前后端之间独立和创新的平台粘合剂。”

尽管微软一度倒在W3C一边,但天平很快就被扳回来了。WHATWG也找到一个重量级的砝码—Google。

Google在HTML5标准中颇具野心。HTML5不仅能让它的应用部门更好地支持Gmail、Google+这些产品,最关键的是HTML5可以替代搜索引擎无法理解的Flash。

2005年,Google吸收了WHATWG创始人伊恩。一方面,Google让伊恩继续推进WHATWG的工作;另一方面,伊恩成了Google在W3C的代表与编辑,对W3C施加影响。后来Google Chrome浏览器的市场份额迅速增长,IE一路下滑,Google作为砝码也越来越重。

然而,Google没有让WHATWG变得更团结,在竞争中体现优势,反而诱发了WHATWG内部的分裂。原因很简单—一山不容二虎。

目前,HTML5超过90%的协议基本上都已达成了共识,唯独视频格式—最关键的一环,Google与苹果之间发生了激烈的矛盾,HTML5标准制定的进程就在这里停滞了。

但统一视频格式标准并不容易。Google指责苹果选择MPEG视频协议,该格式的核心技术被一家以苹果为首的机构持有,商业化会带来专利的问题,不符合HTML5标准制定的开放原则。随后Google将Youtube的视频全部转换为它支持的WebM格式,决心跟苹果抗衡到底。

局势越来越混乱,W3C与WHATWG的分合已不是问题的关键,现在变成了:谁能调停纷争,谁就是HTML5标准的最大功臣。但这个几十亿美元的市场,谁会轻易让步呢?在技术领域,大家不会有多少耐心等待问题解决,如今出现了一种奇怪现象:HTML5标准还在草案中,却已经被广泛应用,而且各大浏览器都宣称自己对HTML5支持是最好的。

现在唯一能肯定的是,未来游戏规则不是W3C或WHATWG所能左右了。W3C前顾问Klaus Birkenbihl对眼下的局面非常担忧,他认为:“W3C或者WHATWG都承受不了失败,因为这样将伤害到Web。”言下之意是,如果这两个组织都不能控制局面的话,那么市场就会失控。

由于标准纷争而伤害产业的发展已有过深刻的教训,漫长的蓝光、HD DVD之争就葬送了DVD产业。尽管索尼的蓝光赢得了标准,但此时已经错失了发展大容量DVD的最佳时机,随着在线高清视频、互联网电视崛起,影碟失去了原本的价值。W3C开始安抚开发者了,它宣布在2014年将先拿出一个“推荐标准”,2022年再正式颁布。

真正的敌人—APP

W3C的时间表都已经出来了,乔布斯也断言了,HTML5是未来,本地App将成过去。那么,还有什么要担心的呢?

HTML5的意义远远超过其作为Web的标准,它是下一代移动应用的代名词。不过,这种颠覆性的定位却使HTML5走向本地APP的对立面。HTML5必然要面对APP生态系统开发商的阻力,而HTML5遇到的第一个障碍,就是来自曾积极推动其发展的苹果。

今年3月,苹果的官方数据显示,App Store的应用下载次数突破250亿次,与2011年1月的100亿次相比,增长了超过150%。据AdMob的估算,AppStore每年营收可达24亿美元之巨。本地App仍维持如此强势之时,苹果怎会乐意看到HTML5兴起?

有研究机构认为,HTML5兴起,将令苹果的经营利润增长在2015年或遭受30%的损失。同时,苹果生态系统的封闭性也将被打破。

苹果采取了拖延策略,为自己下一步布局留出时间。一方面,苹果在iOS设备上强推MPEG格式始终不肯让步;另一方面,苹果甚至从iOS 4.0(手机操作系统)开始,关闭了大量对HTML5重要的API,在iOS上给HTML5应用开发者设置障碍。

苹果对硬件的依赖性比较高,它的影响力可能随着硬件的销量而发生变化,但HTML5还存在另一个不稳定因素:微软在WP8之上也在规划自家的APP生态系统,它以后是否会继续一心一意地推动HTML5发展?

现在Google成了HTML5的最大希望,因为眼下Google对Android的原生生态几乎已失去控制,Google寄希望于HTML5重建一个全新的生态系统。不过,Google却心有余而力不足。

由于HTML5对复杂的Android硬件终端适应性并不好,像根据屏幕大小、分辨率来调整应用窗口大小的这种基础功能,也往往让开发者无所适从。艾媒咨询首席分析师张毅认为,“考虑到对不同设备的兼容性,目前HTML5的开发成本,不比本地APP降低多少。”而且,HTML5标准制定的分歧也加剧了开发者对兼容性的担忧。

如果一个应用要为不同标准的浏览器、终端开发不同的版本,那么HTML5跨平台的划时代意义就不复存在,开发者还不如回到APP的怀抱中,起码目前APP的用户体验、功能都要比HTML5强大得多。专注于移动互联网的点心公司CEO张磊认为,必须对HTML5技术保持审慎的态度,“大公司没有大规模投入,让小公司先去趟水、当炮灰,这就是HTML5的现状。”

尽快确定HTML5标准,实现多平台、多浏览器的统一和兼容才能让HTML5具有说服力,让开发者放心地拥抱HTML5的未来。

不过,从另一个角度看,担心HTML5能走多远,可能只是杞人忧天。知名互联网评论家Keso认为:“HTML5的潜能正等待挖掘,未来也许根本看不见一个叫浏览器的东西。”因为HTML5可以打包成APP的形式。换句话说,就算我们不再需要Web或Web应用了,但HTML5仍可作为多种应用开发语言中的一种而存在,只不过再度回到HTML5之前那样的混乱。从这个意义上来说,“2022年”还是值得等待和期待的。

html5的发展历程和由此引起的政治斗争的更多相关文章

  1. html5的发展历程

    20年磨一剑,HTML5作为下一代Web标准,她的语义之美.人性之美.简单之美.实用之美……如同一场革命,将Web从内容平台推向标准化的应用平台,并一统各在平台阵营的标准.2008年,HTML5发布首 ...

  2. 1.html5 学习要求,Html 5发展历程

    以下是我在学习html5,项目中用到的关于html5的总结和心得. 1.学习要求 Html4.01,xhtml Css2 Javascript 耐心,动手,毅力. 2.Html 发展历程 Html1. ...

  3. DQN(Deep Reiforcement Learning) 发展历程(五)

    目录 值函数的近似 DQN Nature DQN DDQN Prioritized Replay DQN Dueling DQN 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) ...

  4. 【Fiori系列】浅谈SAP Fiori的设计美感与发展历程

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[Fiori系列]浅谈SAP Fiori的设计美 ...

  5. C#与C++的发展历程第三 - C#5.0异步编程巅峰

    系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰 C#5.0 ...

  6. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

  7. C#与C++的发展历程第一 - 由C#3.0起

    俗话说学以致用,本系列的出发点就在于总结C#和C++的一些新特性,并给出实例说明这些新特性的使用场景.前几篇文章将以C#的新特性为纲领,并同时介绍C++中相似的功能的新特性,最后一篇文章将总结之前几篇 ...

  8. C#与C++的发展历程第二 - C#4.0再接再厉

    系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 开始本系列的第二篇,这篇文章中将介绍C#4.0中一些变化,如C++有类似功 ...

  9. Java的发展历程

    Java的发展历程充满了传奇色彩. 最初,Java是由Sun公司的一个研究小组开发出来的, 该小组起先的目标是想用软件实现对家用电器进行集成控制的小型控制装置. 开始,准备采用C++,但C++太复杂, ...

随机推荐

  1. vs xamarin android StartActivity

    跳转无需intent,直接给要跳转的activity的type就可以了 StartActivity(typeof(Login));

  2. php基础教程-数据类型

    PHP 支持八种原始类型(type). 四种标量类型: string(字符串) integer(整型) float(浮点型,也作 double ) boolean(布尔型) 两种复合类型: array ...

  3. Nutch源码阅读进程5---updatedb

    看nutch的源码仿佛就是一场谍战片,而构成这精彩绝伦的谍战剧情的就是nutch的每一个从inject->generate->fetch->parse->update的环节,首 ...

  4. 优秀教程:使用 CSS3 动画实现的超炫的过渡特效

    Codrops 最近分享了一些很酷的图片切换灵感.有三种不同的用例:小的图像幻灯片,大标题幻灯片以及使用透明背景的产品幻灯片.状态转换使用 CSS 动画完成,我们能够定义从任何方向进来的图片的行为. ...

  5. 圣诞礼物:分享几套漂亮的圣诞节 PSD 素材

    马上就到圣诞节了,这篇文章要给大家分享几套精美的圣诞节相关的 PSD 设计素材,你可以免费下载使用,用于圣诞节相关的设计项目中.这些免费素材能够帮助你节省大量的时间,而且能有很好的效果. 您可能感兴趣 ...

  6. Elasticsearch增删改查 之 —— Update更新

    更新操作,一般用这个的,应该不会很多吧!ES本身还是一个倾向于查询检索的框架,对于这种更新的操作,太过频繁总归是不好的. 不过阅读本篇后,你可以使用Script对所有的文档执行更新操作,也可以使用do ...

  7. 基于HT for Web的Web SCADA工控移动应用

    在电力.油田燃气.供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex.Silverlight甚至Applet这样的重客户端方案,在 ...

  8. MVC的控制器的激活过程,我们从MvcHandler开始讲,前面的事情以后再讲

    一.从MvcHandler开始(不要觉得是代码,让你看懂才是最重要的) using Microsoft.Web.Infrastructure.DynamicValidationHelper; usin ...

  9. Oracle10g在Win2008R2下因版本无法安装问题的解决

    次文章为转载的: 首先需要从官网下载Windows_vista版本的oracle10g,下载地址为:http://download.oracle.com/otn/nt/oracle10g/10203/ ...

  10. 用php怎么写一个用户注册登录的页面呢?

    想写就会尽快去写.如果用php写了就一定要用nodejs写出来啊,不写是小狗啊! 补充一下,想要实现的功能: 1.用户名重复检测 2.检测信息填写是否完整 3.邮箱是否已经被注册 4.实现ajax无刷 ...