谨以此文
祝贺HTML5技术标准正式发布5周年
————————————————————————————————
我是H5,全名HTML5,你可以称我为HTML五世。
没错,我是HTML标准家族的第五代传人,H5新时代的开创者。
我的家族一直都是Web王国的统治者,Web王国的臣民,我们称之为页面应用(WebPage),都必须遵循家族法令,也就是HTML技术标准。不尊号令者,在王国寸步难行。
如果你认为我是一个含着十把金钥匙出生的公子王孙,长于深宫妇人之手,那你就大错特错了。
我在Web戡乱中经历过残酷和黑暗的炼狱,可谓九死一生。我的自传就是一部前所未闻的Web战纪。
故事还得先从Web王国讲起。
“Web王国的来龙去脉”
50年前,互联网诞生,虚拟世界出现,虚拟世界由比特(byte)0和1组成,与他平行的宇宙是物理世界,由原子组成。
在物理世界,飞禽翱翔天空,走兽行走大地,鱼儿在水中畅游,万物在自己的生态空间繁衍生息。物理世界还有一种自认为统治一切的智人,不过他们真的上天入地,神通广大。
在物理世界的智人中,有一种智商超高的人,他们称之为神人,正是这种神一样存在的智人,构建出了虚拟世界,这些神人在虚拟世界的确被供奉为神。
在虚拟世界也是分层的,而且更加层次分明。虚拟世界至少有三层大陆,自下而上分别是物理设施大陆、标准协议大陆和应用生态大陆。三者的关系就像道路、红绿灯、汽车的关系。我们都知道,没有红绿灯系统,汽车这种应用是没法在路上行驶的。同理,没有标准协议,所有的网络应用都不能运行在联网设备中。
标准协议层相当于整个互联网的中枢神经系统。中枢神经系统坏了,整个网络就瘫痪了。
我们HTML家族统治的就是标准协议大陆的一个王国,Web王国。
我的故事,就发生在Web王国。
“Web之乱”
年,比特世界的神殿。
蒂姆·伯纳·李(TimBerners-Li),后来我们奉其为Web王国的创世神,物理世界也称他为“Web之父”,用他的金手指在键盘上写下了一个HTML标签文档,并成为Web端开发的统一语言。
蒂姆·伯纳·李TimBerners-Li就这样,我们HTML家族的第一代诞生了,并加冕成为Web国王。
后来,Web王国的继承人交给一群程序员祭司组成的W3C来培养指导。
就这样,HTML家族历经四代,和平传到了四世,一代更比一代强。
直到年发生了一件事。这是一个命运转折点,开启了Web之乱的大门。
年,W3C突然想扶持XML成为新任Web国王。然而这个XML注定是个败笔,因为它矫枉过正,竟然不想兼容此前有瑕疵的网页,想推倒重来,对于不符合其标准的网页赶尽杀绝。
Web王国发展极快,难免有些网页臣民平时不注意,不按正常标准规范办事,感染上了各种各样的Bug。HTML家族向来宽厚,网开一面,兼容这些Bug,使之可以正常应用,结果竟成为W3C扶持XML净化Web王国的一个主要理由。
上帝想让他灭亡,必先让他疯狂。XML竟然狂妄到不兼容IE浏览器支持的历史网页,要求这些网页全部要重新修改符合新标准。要知道当时主流浏览器是IE浏览器,IE当然要跳出来表示反对。XML伪朝逆历史潮流而动,二世而亡,真是大快人心事。
W3C经此一役,威望大降。Opera、Apple、Mozilla开始反对W3C的倒行逆施。
然而宝贵的时间已经过去了,年~年,W3C没有能为Web王国培养出合格的继承人,HTML家族和XML家族谁是正统,一时竟说不清。
东方智慧里说,人无远虑,必有近忧。
在HTML王朝内乱之时,一个庞然大物已经出现,魔兽Flash露出了自己锋利的爪牙和贪婪的大口,阴影即将笼罩整个Web王国。
“魔兽Flash”
魔兽Flash并非长得面目狰狞,相反,他是个翩翩美少年。
Flash是由一个叫Macromedia的公司创造出来的,他有诸多神通,能用0和1幻化出头脑中的各种创意想象,让创意可视化,可以播放音频、视频、动画,还能与之交互,比如填写表单。
Flash笑容魅惑,体态优雅,多少愚夫愚妇都拜倒在他座下。Flash一路攻城略地,从广告营销、音视频、富媒体、全站Flash、页游,无坚不摧。
年,北美大陆的财阀Adobe收购Flash,借助资本的力量,Flash加大了侵占Web王国的步伐,HTML家族丢失了大片国土。Adobe向当时的其他财阀如苹果、Google、Facebook、各种浏览器收取巨额Flash软件授权费,赚得盆满钵满,大发其财。
国土沦丧,同室操戈,内忧外患,Web王国到了最危险的地步。是滑向无底深渊还是重振旗鼓再战,这是Web王国面临的生死考验。
“黑暗中的一丝曙光”
上帝跟你关上了一扇门,就会给你打开一扇窗。
这扇窗的打开往往一开始是来自一个不起眼的小人物。
年,Opera的一个程序员祭司LanHickson提议,在HTML的基础上进行扩展以适应新的应用。这个提议被W3C拒绝。
反对W3C的人别无他法,要么听任Flash横行,俯首进贡,要么联合起来自己动手,新创标准,丰衣足食。
于是WHATWG(超文本应用技术小组)诞生。WHATWG开始发展WebApps1.0和WebForms2.0,也就是我的前身,后来发展中最终两者走到了一起,产生了他们的结晶——HTML5。
年,我,HTML五世终于来到了虚拟世界,一个新的时代露出了一丝曙光,东方的臣民后来尊称我为H5。
我经过WHATWG的淬炼,去芜存菁,兼容并包,一出生就身手不凡,各种神通。Flash有的音频、视频、动画、交互效果我全都不在话下。我H5不需要安装任何软件,就能承载更大的信息密度,更关键的是,我是免费开源的,无需任何授权费就可以使用,这意味开发成本更低,分享成本更低,使用成本更低,最后的结果就是更低的流量成本。
我可以让各种不同的素材在浏览器中流畅运行,最大的优点在于跨平台性、易开发以及开发成本低。程序员们爱死我了。
赌注已经压上,开盘即定输赢。
背负家族的荣光,我H5波澜壮阔的Web戡乱正式拉开帷幕,驱逐鞑虏,收复故土。
Web王国,我来了。
“弃暗投明”
Web王国的内乱、HTML正统之争引发了王国的创世神“Web之父”蒂姆·伯纳·李(TimBerners-Li)的出手。
在年10月他发表了一篇文章表示:由HTML向XML发展这条路是行不通的。“Web之父”的神谕唤醒了W3C的祭司们,几个月后W3C的祭司们开始了明智的选择,以WHATWG的成果为基础开始进一步完善。这一举动宣告W3C彻底抛弃了XML家族,XML二世自杀身亡。
世界潮流,浩浩荡荡,顺之者昌,逆之者亡。
我H5的诞生不是巧合也不是人为炒作,它是历史的必然选择。W3C知错能改,善莫大焉。
我H5将以一个真正的HTML家族继承人的身份,一步步走上巅峰,不止收复PC端失地,更是开疆拓土,开启了移动互联网的伟大事业。
“反Flash阵营”
谁是我们的朋友,谁是我们的敌人,这是第一个要回答的战略问题。分辨敌我,才能把朋友搞得多多的,敌人搞得少少的。
Adobe依靠Flash垄断Web高端市场,大发横财,引得一帮财阀嫉恨和眼红。这其中,就有几个庞然大物,比如苹果、Google、Facebook、还有各种浏览器。
敌人的敌人就是朋友。
我们组成了反Flash阵营,共推我H5为盟主,势要将Flash挑下马来。
反Flash阵营是盟友,他们心中在乎的是名利。但是我不在乎这点小心思。水至清则无鱼,人至察则无朋。真正厉害的人,总是能在不完美的世界中获得成功。
阵营中,苹果财阀的乔布斯是我遇到的第一个白衣骑士。在虚拟世界,乔布斯有着众神之神的地位,一呼百应。
斯蒂芬·乔布斯SteveJobs苹果从来都不是第一家将新技术推向市场的公司,但这些年也同时不失时机的把软盘、光驱、Flash、上网本、傻瓜相机等技术或设备淘汰掉。在乔布斯看来,Flash无疑是最臭名昭著的技术之一,必须驱逐出去。
乔布斯非常厌恶Flash,早年Adobe曾与苹果有一段蜜月期,双方一起合作推广排版处理软件。后来在苹果与微软的大战中Adobe临阵倒戈,让乔布斯至死都没有原谅这个他一手扶持的小弟。
新仇旧怨,所以无论是iPhone还是iPad都从来没有支持过Flash。苹果与Adobe爆发了一场备受争议的口水战,乔布斯亲自下场,专门跑到一个论坛,来向人们解释iPad为什么不支持Flash:“Flash技术缺乏足够的开放性、性能差、电池消耗大,缺乏触摸支持,这大大阻碍了人们在使用iPad的用户体验。”
年,苹果卖出了万台iPhone和万台iPad,软件开发商不能忽视这么庞大的用户群。苹果与Adobe的那场战争,苹果背后站了一大群开发人员支持研发HTML5技术,让我得以迅速普及,收复Web王国失地。
“决战Flash”
墙倒众人推,鼓破万人捶。苹果全线出击,Google、Facebook等不甘示弱,纷纷出手,抛弃Flash,支持HTML5。
年,乔布斯见时机成熟,吹响了决战的号角。乔布斯在封杀Flash的檄文中,就预言HTML5将会成为取代Flash的下一波技术浪潮。
Flash极速衰落了。年,Adobe宣告败战,放弃了Flash移动端的研发工作,我HTML5几乎已经被移动浏览器广泛支持。
Flash的时代一去不复返,那个翩翩美少年随风而去。从此江湖路远,不再相见。
世界有些残酷,有时候不是你无能,而是你不适合这个时代了。当时代抛弃你时,连个招呼都不打。
“争端再起”
以利相交,利尽而盟毁。反Flash联盟在赢得胜利后,迅速分崩离析。
对于移动应用分为两派,一派是Facebook为首,支持基于HTML5技术的WebAPP,一派是苹果和Google为首的原生APP。两派之间不断争议一个话题——谁才是未来的趋势?HTML5的WebAPP是否会取代原生App?
苹果和Google抽身离去,加速打造原生APP市场,构建了越来越封闭的系统。形成了iOS和Android的两大APP应用市场的垄断局面,他们大发其财,比Adobe有过之而无不及。
屠龙少年在杀死恶龙之后,身上长出了龙鳞,成为新一代的龙。互联网世界没有随着技术的发展越来越互联互通,而是条块分割更厉害,以邻为壑,山头林立。
城头变幻大王旗,你方唱罢我登场。何日才能开放共享,网络大同,四海一家?
“遭遇滑铁卢”
我赢了与Flash的决战,很多大公司都在推动HTML5的发展,但我仍然不安,WebAPP应用能打赢原生APP,让互联网更开放吗?是WebAPP这把屠龙刀号令天下,莫敢不从,还是原生APP这把倚天剑一出,谁与争锋?
这时候,我遇到了生命中的第二个白衣骑士,Facebook的扎克伯格。他是一名有点疯狂的技术极客,誓要利用HTML5的WebApp来打破iOS和Android的垄断。
马克·扎克伯格MarkZuckerberg我深深地被他的激情所打动,决定要全力以赴,帮他赢得尊严与荣耀。
但很可惜的是,后院起火。HTML5技术在年遇到了一些麻烦,推动HTML5技术发展的两个标准组织W3C和WHATWG终止合作。
天之骄子扎克伯格最后在HTML5上摔了一个大跟头,由于过于执着相信HTML5将会取代原生App,导致Facebook在年之前在移动端的产品的市场表现非常一般,顶着千亿市值IPO的Facebook在年股价更是连连受挫。
理想很丰满,但现实很骨感。
白衣骑士扎克伯格被贪婪的股东围攻,不得不做了一项花10亿美元收购Instagram的举措,勉强获得了这波移动浪潮的船票。
我的WebAPP应用出师未捷,原生APP风头正劲。苹果普及了HTML5技术,Facebook押注HTML5上,却受到不小的打击,导致在后来一段时间里,唱衰HTML5的言论成为媒体的一种幸灾乐祸的态度,人人避而不谈昨天的盟约。
我HTML5迎来了人生的至暗时刻。
“至暗时刻”
我看过一本在东方非常有名的小说《三个王国的浪漫史》,里面描绘了三个连骑士封号都没有的草莽英雄,在一个桃花盛开的园子里,在上帝神圣的羽翼庇护下结为兄弟,经过三十多年的征战,他们终于建立了一个名叫“蜀”的王国。
令人悲伤的是,他们的王国后来被吞并了,但他们的英雄气概在我人生的至暗时刻鼓舞了我。
回顾前尘往事,我的故事一点都不比这本小说逊色。在Web之乱中,群雄纵横捭阖,敌友难分。时局波云诡谲,人心险恶。人性中的贪婪与恐惧、愚行与无知,至今都历历在目。
Web戡乱初期,我时常梦见孤帆远影日边来。我不清楚那是旭日初升还是夕阳无限好。互联互通的梦想和对自己无力的无力感将我撕扯,令我疲倦。
不忘初心,奋发有为。我在风中挥舞狂乱的双手,写下灿烂的诗篇,不管有多么疲倦。潮来潮往世界多变迁,迎接光辉岁月,为他一生奉献。
孤独的生活很需要时间,只要肯期待,希望不会幻灭。
“厚积薄发”
在过去2年,很多基于HTML5的应用都在试图替代原生App,但受限于技术的完善程度,这些应用的体验都远远不如原生App。很多HTML5的应用经营惨淡,他们转投到了原生App的阵营。
末路不倦怠,暗处不苟且。我在积累自己的势能,期待再次站到风口。
此前iOS和Android系统已经放弃了Flash,这让我有了一个天然的成长基础。而现在手机硬件的提升和HTML5本身的完善,使得基于HTML5的应用表现更好。iPhone对HTML5的支持很完善,而Google也完成了移动端Chrome浏览器向Chromium内核的切换,大幅提升了对HTML5的支持。
年我再次出山,能够重新起来的重要因素,就是提供了比原生App更好的体验,但这种体验的基础并不是单纯的替代原生App,而是做了一些最适合HTML5的细分应用,比如小游戏、媒体和营销类的产品。
这些细分的方向能够最大程度发挥我跨平台、开发成本低、开发速度快的诸多优点,在整体产品体验上远远超出原生App。
浅水喧闹,静水流深。我的基本面正在越来越稳固。
“再缔新盟”
在至暗时刻,我不断反思自己:我何以从众望所归到众叛亲离,是世界排斥了我,还是我拒绝了世界?
我的心智越发成熟。不是这个世界排斥我,而是我从一开始就假设世界排斥我,迫害我。成见蒙蔽了我的眼睛,我在自己织就的信息茧房里,绘制了一张错误的世界地图,试图要求全世界按照这个地图,到达互联互通的彼岸。
初心易得,始终难守。世界互联互通这个初心不变,而路径是应该随势而变。
我不再局限门户之见,而是试图构建更广泛的网络共同体。HTML5和原生App并不是对立的,反而是原生App需要HTML5去解决一些核心的问题,比如原生App之间的信息互通。
目前原生App都是各自孤立的,既缺少相互的信息传输,也让App的流量费用变得越来越高。而HTML5应用则能够以很低成本解决这些原生App自身无法解决的问题,让整个移动应用市场更有效率。
一个原生app里在部分甚至大部分模块里包含H5——事实上,