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. Network - SSH

    SSH(Secure Shell) https://wiki.wireshark.org/SSH   SSH 协议与OpenSSH详解 http://my.oschina.net/liting/blo ...

  2. Javascript模块化开发,使用模块化脚本加载工具RequireJS,提高你代码的速度和质量。

    随着前端JavaScript代码越来越重,如何组织JavaScript代码变得非常重要,好的组织方式,可以让别人和自己很好的理解代码,也便于维护和测试.模块化是一种非常好的代码组织方式,本文试着对Ja ...

  3. SQL Server中参数化SQL写法遇到parameter sniff ,导致不合理执行计划重用的一种解决方案

    parameter sniff问题是重用其他参数生成的执行计划,导致当前参数采用该执行计划非最优化的现象.想必熟悉数据的同学都应该知道,产生parameter sniff最典型的问题就是使用了参数化的 ...

  4. .net, java, c/c++ 和钱

    .net, java, c/c++ 和钱 最近有一段时间没有写博客了,原因是没时间,项目需要在短时间内增加一些安全性的支持,为此我花了近两个月的时间做基础研究,现在路已经跑通了,稍闲下来,看到园子里面 ...

  5. LoRaWAN协议(五)--OTAA入网方式详述

    前言 OTAA(Over-The-Air Activation),是LoRaWAN的一种空中入网方式.当node在上电的时候处于非入网状态时,需要先入网才能和服务器进行通信.其操作就是node发送jo ...

  6. 关于C# Winform DataGridView 设置DefaultCellStyle无效的原因与解决方案

    上周在开发Winform 项目中,我曾遇到一个看似简单,但一直都没有解决的问题,那就是:设置winform DataGridView控件的行DefaultCellStyle,但却没有任何变化,我也曾求 ...

  7. JS魔法堂:判断节点位置关系

    一.前言 在polyfill querySelectorAll 和写弹出窗时都需要判断两个节点间的位置关系,通过jQuery我们可以轻松搞定,但原生JS呢?下面我将整理各种判断方法,以供日后查阅. 二 ...

  8. 在当前Server上找某某object,注意只需修改"要找的object"就可以使用

    ---在当前Server上找某某object,注意只需修改"要找的object"就可以使用EXEC sp_MSforeachdb 'use ? ;IF EXISTS(SELECT ...

  9. C#--静态字段

  10. 使用NuGet打包并发布至ProGet过程 (打包再次详解)【下篇】

    一.前言 上篇[1]主要介绍了利用csproj文件使用NuGet打包至ProGet的过程,并附上了用于在Jenkins上运行的python脚本.本篇的主要内容分为以下几点: 1. Nuspec与Nup ...