400-1518-116

咨询电话

HTML5会让iOS和Android开发者转行吗

2015-12-18 标签: 来源:网络 阅读量:1211


 

  我们第一次谈论HTML5要改变世界大概是因为乔布斯,他坚持在iOS上不兼容Flash,在Adobe统治多媒体开发的那个年代,这需要付出极大的勇气。这么多年过去了,虽然所有人都在谈论HTML5,但是大部分人甚至都忘了它还是一个仍在完善中的体系。

 

  2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式定稿。接下来,HTML5将真正开始颠覆原生(Native) App 世界。虽然这种危言耸听已经让人有点厌烦。但是如果回顾HTML这些年走过的路,你就不会再怀疑它的能量。

 

  一、HTML5 的诞生

 

  自W3C于1999年发布HTML4后,Web世界快速发展,一片繁荣。人们一度认为HTML标准不需要升级。一些致力于发展Web App 的公司另行成立了WHATWG组织,直到2007年,W3C从WHATWG接手相关工作,重新开始发展HTML5。

 

  HTML5的发展史,有用户的需求在推动,有技术开发者的需求在推动,更有巨大的商业利益在推动。在互联网的早期,对用户而言,能打开浏览器接入到互联网世界就是一个神奇的事情,但互联网发展到2005年前后,开始出现下一个变化,就是宽带互联。

 

  随着宽带的普及和电脑性能的增强,人们不再满足于单纯的通过互联网看新闻、收发邮件,消耗更高带宽的娱乐产品开始出现,就是流视频和网页游戏。其实视频和游戏是古老的需求,在互联网不普及的时候,需求的满足方式是离线传输的VCD和游戏光盘;后来互联网逐渐普及,人们更改了使用方式,通过下载软件+本地媒体播放器来看视频,下载体积较大的端游玩游戏。

 

  但是对消费者体验更好的新方式还是出现并颠覆了以前的一切,那就是流媒体和网页游戏。Youtube等公司把握住潮流飞速崛起,各种页游公司也如雨后春笋。

 

  HTML标准没有把握住产业的变化及时演进,浏览器产品也未升级,这块新需求被浏览器插件满足了,那就是Flash。这个部署在亿万浏览器里的商业插件俨然成为事实标准。2005年Adobe巨资收购Macromedia,把Flash收归旗下,紧接着大幅推广FLV流媒体和 action script语言,很明显这桩收购可以列为IT 并购的经典案例,FLV流媒体和Flash游戏风靡互联网,Adobe在新的产业升级中攫取了大量的利润。

 

  除了Flash这个商业产品成为了事实标准,W3C还面临一个尴尬,就是另一个私有扩展协议的制造者—IE。IE 当时在桌面浏览器占有垄断地位,并且扩展了大量的IE Only语法,开发者完全不知道这些语言是谁定义的。整个web世界,就被两家公司微软+Adobe 绑架了。

 

  很多IT巨头都坐不住了,尤其是苹果和Google。PC 操作系统的世界难有突破,Web浏览器被苹果寄予厚望;新贵Google虽然大量赞助Mozilla,但并未对IE的地位产生实质影响,收购了YouTube后发现命脉在Adobe手里,也是非常难过,而且Google每年给IE的搜索框和Adoble FLV缴纳的费用真不是小数目。

 

  既然大家都是W3C的主要单位,好吧,我们重新开始做HTML5吧。是的,HTML5其实就是这么诞生的。

 

  二、HTML5第一阶段:Web增强与破垄断

 

  自HTML5诞生以来,一共经历了两个阶段,分别是Web增强和移动互联网。我们先从Web增强说起。Web体验的丰富增强主要表现在:

 

  WebApp HTML5新增了离线存储、更丰富的表单(比如 Input type=date)、js 线程、socket、标准扩展 embed、css3…

  流媒体HTML5新增了audio、video

  游戏HTML5新增了canvas、webgl

  当然HTML5还为搜索引擎的语义分析做了优化,比如新增Header和Section等标签,也在无障碍等领域做了不少工作,这些不再多述。HTML5 在流媒体和游戏方面的努力,成功的遏制了Flash的发展,然后就该遏制IE私有语法了。

 

  在 HTML5 标准的升级过程中,苹果和Google同时也看到了浏览器市场重新洗牌的机会,他们一方面参与HTML5的规范,一边在浏览器产品上发力。Apple首先开始大力发展Safari,建立WebKit开源项目,迁移Safari到Windows平台;Google起初是赞助Mozilla开发Firefox,后来自己开发了v8引擎,合并WebKit,于2008年正式推出Chrome。“IE 的私有规范+Flash不是标准,我们才是标准” 这样的口号在新一代浏览器大战中打响,IE 瞬间成为千夫所指的垄断代表,甚至成了阻碍Web发展的**(当时IE6已数年未更新,并且丝毫不惧Firefox的发展)。

  

  偏偏微软此时也出了晕招,推出了一系列即不完整支持规范又互相不兼容的IE7、8、9、10,彻底失去了开发者的支持。

 

  Adobe的Flash被遏制,与Web霸主的位子擦肩而过;IE的私有标准被遏制,并且造成IE市场份额不停下滑,直到IE最新的移动版本反过来开始支持WebKit语法,真是令人唏嘘。不知道HTML6是不是该打倒WebKit垄断。

 

  三、HTML5 第二阶段: 移动互联网

 

  随着Chrome和Safari的高歌猛进,以及IE+Flash的衰落,HTML5告一段落,进入了下一个时代——移动互联网。HTML5的跨平台优势在移动互联网时代被进一步凸显。HTML5是唯一一个通吃PC、Mac、iPhone、iPad、Android、Windows Phone等主流平台的跨平台语言。Java 和Flash都曾梦想这个位置,但梦断于iOS。此时人们纷纷开始研究基于HTML5开发跨平台手机应用。很多人当时认为,原生应用只是过渡,就像当年从C/S 结构转变为B/S结构一样。而且学习Objective-C和Java很费劲,我既然会网页开发,为何不试试HTML5。

 

  W3C此时成立了Device API 工作组,为HTML5扩展了Camera、GPS等手机特有的API,然而麻烦的是,移动互联网初期的迭代太快了,手机OS在不停的扩展硬件API,陀螺仪、距离感应器、气压计。每年手机OS都有大版本更新。而W3C作为一个数百家会员单位共同决策的组织,从标准草案的提出到达成一致是非常复杂的过程,跟不上移动互联网初期的快速迭代。

 

  PhoneGap的出现,给开发者打开了一扇窗。很多人期待PhoneGap不停扩展API,来补充浏览器的不足。Adobe看到PhoneGap仿佛看到了重振江湖地位的希望,但在Adobe收购PhoneGap后,又发现这个东西问题很多,而且开源使得Adobe无法像Flash那样获取商业利益,于是就把PhoneGap捐给了Apache,改名为Cordova。

 

  因为各种原因,Cordova 的定位最终没有成为浏览器的强化,而走向了混合式开发。基于当时的背景,他们认为原生是不可替代的,“原生+HTML5” 的混合模式更有意义。所以现在Cordova的使用往往是“原生工程师+HTML5 工程师”一起协作完成App。

 

  这时Facebook加入了W3C,牵头成立了Mobile Web工作组。Facebook是混Web圈的,并且在手机OS上并无自己的领地,他不喜欢被苹果和Google掌控的原生应用生态系统。Mobile Web这个工作组的重要目标就是让HTML5开发的网页应用达到原生应用的体验。然而,事与愿违,它不努力也就算了,结果是努力了却失败了。2012年,Facebook 放弃HTML5的新闻充斥了全世界的IT媒体,HTML5 瞬间被打入冷宫。