为FLASH正名!HTML5前景分析
眼下关于HTML5的新闻在互联网上可谓是铺天盖地,关注度甚是有超越云计算之势,网友的反映也是众说风云,各执一词,就目前看来,乔布斯(Apple)公然挑起的这场战争到底是掀起了一些波澜,但起初观望这场战争的时候,小编就产生了一种疑问,按理说这类挑衅应该总是由垄断一方首先发动,以达到把新生儿打压在萌芽状态的效果,但这次反到是这样一个新生儿突然像站起来挑战元老Adobe这样的事情看起来就有点蹊跷了。
也许你要说HTML5怎能算是一个新生儿,它的草案形成了已经有近2年的时间了,但是跟Flash帝国18年的技术积累,数十万的开发者,97%的用户占有率,试问HTML5难道不算是一个新生儿吗?
这场闹剧本来只是两大世界级公司之间的利益之争罢了,但现在已经不可避免的殃及另外两家巨头,没错,他们分别是谷歌和微软。这让我们不禁产生一种好奇,那便是究竟他们在Adobe和Apple交战火热的时候所表明的态度,究竟想满足怎样一种需要?就目前为止,这场战争的阵营势力分别是这样的:
HTML5阵营:Apple,Google Flash阵营:Adobe
中立阵营:Microsoft 随大流阵营:Mozilla,Opera
原因非常简单,不过就是各自都心怀鬼胎罢了,试看,战争发起者Apple就不用多说了,这个家伙从来都是向钱看齐的,虽然它能时不时制造出无可比拟的创造性产品,就拿突然爱上了HTML5这件事为例,请你试想如果Flash钻进苹果的各种设备,那么当你可以方便地在Hulu上播放电视和电影节目时,你还会去iTunes商店里去花钱看吗?往更大里说,Apple希望能借助开放的HTML5使整个互联网的生态环境朝着有利于自己的方向发展,想想看有一天你曾经依赖的桌面应用在浏览器里都能实现了,你是不是就可以考虑离开Windows,换上漂亮的MacOS呢?然后看看HTML5阵营的另一大主角吧,Google之前把云计算玩火了,现在它的云计算帝国还少了谁?当然是一个支持RIA(RichInternetApplications)富互联网应用的客户端了,试想HTML5得到普及,更多的应用转向BS模式时,微软的桌面帝国必定受到很大威胁,垂涎已久的Google一定是最大受益者。
目前Microsoft是无所谓了,反正他正忙乎着推自己的Silverlight平台,你HTML5能唱出什么花哨的音乐我还得先观望观望,Mozilla是非营利组织,相对来说高尚一些,是标准咱就支持呗,至于Opera,现在可能正忙着研究怎么提高装机量呢,好像还没有什么闲心出来发发言。
回头看看防守阵营Adobe,Flash为一个封闭的系统,是由Adobe独家控制,这也是乔布斯拿来说事的主要借口,孰不知提起封闭,苹果自身也不过是半斤八两,Flash好歹还有几个开源项目正在运营。不过话说回来,Flash的技术封闭相对于开放且基于浏览器的HTML5标准的确是一个弱势,但对用户来说其实也是一种优势,试想Flash的改进升级只需要用户升级FlashPlayer插件,插件的升级相对用户来说,是轻量级的。HTML5刚刚出来,必要的改进肯定是有的,那么HTML5的每一次更新,用户必须重新升级浏览器,这是相对重量级的用户操作,尤其是还有很多人不明白什么是浏览器。
Mac平台测试结果
Safari效率最高,CPU占用率比Flash低,为12.39%;Flash 10.0占用率为37.41%,Flash10.1占用率下降到32.07%。
在Google Chrome浏览器中,两者表现都不理想(CPU使用率都在50%左右)
在火狐中,Flash表现仅次于在Safari中的表现,但好于Chrome。
另外,笔者周围有很多人在议论,说Flash虽然升级频繁,但无非是打打补丁修修漏洞,并没有什么大的改进,所以HTML5站起来灭掉这个不思进取的家伙也是个必然,事实真的如此吗?自1992年Flash诞生以来,我想它的改进是大家有目共睹的,就多媒体领域而言,多点触摸、人脸识别、Socket通讯同步、AR增强现实、实时视频等等功能的实现,前些日子,Flash也终于实现了硬件的2D和3D加速功能,这难道就是你们口中的停滞不前吗,证据可以说明近些年不管是功能上,效率上还是应用上,Flash都做出了应有的努力,大家要檫亮眼睛,不要被Apple的华丽外表所蒙蔽了。还要证据?好吧,大家记得Apple前些时候放出的Flash和HTML5的执行效率对照表吗,据Apple提供的数据显示,在Mac平台下,HTML5的执行效率比Flash快3倍,客观讲,这确实是个事实,看一串数据:
但大家也许不知道产生这个结果的真正原因吧,Adobe这次终于忍无可忍将原因公之于众,这是由于Apple拒绝像Adobe提供用于提升效率的开发接口,那么这个说法到底具备真实性吗?我们大可以分析一下,众所周知Apple的系统和Windows一样是封闭的,想Adobe这样的第三方公司必须靠他们提供的接口来开发自己的软件,那么看看拿到了微软全部开发接口的Windows平台下的Flash表现如何:
Windows平台测试结果
Safari无法播放HTML5视频,所以无法测量。但Flash10.0CPU占用率为23.22%,Flash10.1仅为7.43%。
Chrome在Windows上效率高于在Mac上表现。Flash播放器的效率比HTML5约高24%,Flash播放器10.1的效率比HTML5高58%。
在火狐上,Flash10.1的CPU使用率为8%,Flash10.0为22%,在IE8上Flash10.0CPU使用率为22.41%,10.1CPU占用率为14.62%。
我们看到HTML5几乎占不到什么优势,这很好的证明了Mac平台下Flash效率低下的原因,可以说Apple亲手制造了Flash的缺点,又亲手将这个缺点公开给广大用户。我们再稍微思考一下,Apple难道没有能力在自己的平台下优化Flash吗?只是不想罢了。
Flash效率可能并没有想象的那么高,确实如此,但这并不是Flash本身造成的,我试问那些抱怨Flash效率低下又总崩溃的半吊子程序员,你们好好优化你的代码了吗,你们把国外那些行云流水的Flash全站拿过来研究了吗,我很痛心的了解到,没有。
鉴于各大浏览器以往的表现,这里不得不提一下兼容性的问题,Flash插件的优势在这里又有了一次完美的体现,它完美的解决了浏览器和Flash新特性的兼容问题,这使得Flash可以大胆和快速的更新,因为它的部署没有任何障碍,用户只要小小的更新一下插件就可以了。而不会像基于浏览器解析的HTML5那样畏首畏尾。为什么?好吧,前面大致提到过这个问题,现在看来好像有详细说明的必要了,我们暂且搁下用户愿不愿意因为HTML5而升级浏览器这个问题(看看顽固的IE6?),先来看看浏览器厂商之间会有什么反映,先看看老大IE,有人说这个好解决,微软把IE8(现在IE9的预览版出来了)的补丁放在ServerPack里自动更新了得了,好吧,在这么做之后微软一定会被反垄断的锤头给砸死,那么二哥Firefox呢,这个想必好很多,因为本来就是非盈利的,支持个HTML5标准又能咋地,Chrome那必然是非常滋润,刚刚迎娶了云计算这个美人,如今又纳了HTML5这个小妾,又有Apple替他挨骂,真是惬意,惬意啊。那么如此看来,未来的HTML5是个什么样子?大概某天某个评测网站上会有这么一条新闻:HTML5兼容性报告!IE95%、FireFox99%、Opera92%等等吧,这反映了HTML5必定在部署上有不可避免的缺陷,况且HTML5真的要实现Apple吹嘘的那些功能,没有更时髦更强大的浏览器引擎支持,笔者很难想象它如何实现。那这个引擎什么时候到来。
谁将决定HTML5和Flash的胜负,当然是开发者和用户,从开发者角度来讲,数以万计的Flash程序员会不会修了Flex和ActionScript呢,当然Apple给每个HTML5程序员开出更高的工资,那是有可能的,但乔布斯必须努力说服这些程序员脱离DW+Firebug,抛弃FlashDevelop,而改用记事本+浏览器编辑和调试他们的代码(就目前来说)。
从用户角度来讲,他们并不关心自己看到的网页视频是基于什么技术实现的,那么就目前来讲,HTML5能实现的功能,Flash都能实现,而Flash能实现的功能,HTML5差的还很远,比如HTML5不支持全屏,不能很好的支持转发,不能嵌入时间轴字幕,不具备练好的缓冲控制功能等等,而这些Flash早已具备成熟的解决方案,当然这些在日后一定会得到改善,但是话又说回来,HTML5要成为标准,标准能三天两头改吗?其次对于用户来说,他们的需求可没有乔布斯那么迫切,更不会因为技术导向去升级自己的浏览器,并且也没有哪个公司有胆量跳出来冒这个风险,但是Google好像是个例外,毕竟Google具备这个实力,但是Google此次和Apple的联姻能持续多久,要知道他们像来是有矛盾的,哪天又冒出来一个XXXX几的语言完全符合Google的利益以后呢?
最后还是想说,HTML5在短时间内根本不可能代替Flash,HTML5的确可能有很大的潜力,但是网络应用目前在功能、流畅性和界面等方面还无法与本地化应用竞争。
《草根》观点:
HTML5和Flash这场博弈不会很快结束,以后一定还会不断的冒出更精彩的新闻,截至本期《草根》发稿前,Google已经放弃在YouTube上使用Html5,原因是还有很多功能不能实现,比如目前还不能很好的支持字幕和全屏播放。Google还解释说,最重要的是目前还不能确定各浏览器对Html5究竟会有怎样的动作。确实,也不知道多久以后他们之间才能达成协议,然后不知道还要多久才能完美兼容Html5,看看顽强的IE6吧。不过尽管这样,也不能说Html5就不会有所作为,就其本身而言,技术无疑是先进的,也是比较新的,就新的东西来说是不太好被大家接受的,加上这次突然崭露头角却是因为苹果公司的商业炒作,这多少给语言本身带上了一点负面影响。
那么未来可能会是什么样的呢?笔者大胆猜想了一下,未来的这块“蛋糕”一定是三分天下,各执其责。但主流Flash的地位肯定是不会有太多动摇,除非Html5有足够说服力的优势和垄断公司的权利支持(后者看起来不太可能),举个例子,大家都愿意承认Linux现在无论是在速度还是安全度都超越了Windows,但是他们的Linux依然都在Windows加载的虚拟机里运行着。
就目前来讲,对它们中的任何一个定性还是为之过早,毕竟它们还有待时间的考验。