未来是 HTML 5 还是 Flash 的时代?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未来是 HTML 5 还是 Flash 的时代?相关的知识,希望对你有一定的参考价值。

我曾经从事了15年的Flash和html相关工作,我经历过。这是鄙人的亲身经历,1999年开始接触Flash技术,2000年向Macromedia提交了Flash AS1的Math相关算法而成为beta tester,2003年是Macromedia Flash的dev volunteer, 2004年成为Macromedia在中国的第一个技术员工,2005年,Adobe并购Macromedia结束,进入Adobe做工程师,2008成为Flash Video与Flash Media Server的大客户技术经理,2009年成为Flash Platform Evangelist,2014年离开Adobe前,除了Flash,也参与了Adobe HTML5系列技术工具的相关工作。2. 我现在是一家做HTML5技术公司白鹭引擎的技术合伙人,管理这家公司的研发团队,每天的工作都跟HTML5的Web技术相关。3. 这个时间点回答这个问题貌似最好,因为一切答案正在浮出水面。好了,回到答题本身。我本人对于Flash和HTML5两个技术领域的观点判断大致如下:Flash已经走入软件生命周期的末期,但它仍颇具价值。Flash不论当初多么辉煌,在它的生命周期里从未真正赢得移动领域。HTML5已经重回轨道,未来取胜的关键则在移动领域。虽然HTML5已经重回轨道,但要达到高度完善的技术普及状态,它必须进行几方面的突破。Flash已经走入软件生命周期的末期,是的,万物皆有始终,更何况Flash。1994年4月10日到今日,Flash已经有21岁。21岁对于一个人而言,正属风华绝代之年,但是在软件领域里,存活21年实在算的上是一个老家伙了。说到衰落,必然要提崛起。21年的过程中,Flash经历了三次成功高峰,分别是1999年的网络动画时代,2005年的Flash Video时代与2008年的Web Game时代。这三次互联网领域的高峰,全部都被Flash赶上(不得不说命好运也好),并且这三次成功,引领了Flash在生命周期中的一次又一次产品形态上的变化。Flash Animation的流行引领了Flash的第一次成功,1999年,借着第一波互联网.com的热潮,由于当时HTML技术功能上的羸弱,大量被人所称道的Banner,动画,MTV都是借助Flash创作而来,这些充满神奇的交互效果充斥了每个网站,Flash在网页动画创作领域开始快速崛起。我当时的雇主美国Macromedia公司旗下的Flash,Dreamweaver和Fireworks被国人亲切的叫做网页三剑客,当时我主要泡闪客帝国(前身是边城浪子的回声资讯)和蓝色理想这两个Flash开发者聚集的论坛。2004年,借助着前几年Flash所取得的成绩,Macromedia公司被Adobe公司以34亿美金收购。2005年,Flash有史以来最重要的版本之一Flash 8(codename:8 ball)登场,这一版本里集成了2个最重要的功能,其中一个功能引领了后来YouTube和优酷土豆视频网站的成功,就是Flash Player里集成了Sorenson Spark H.263(VP6)的视频解码功能,而另一个功能为以后Flash可以创作更精彩的Web Game埋下伏笔,就是Bitmap和Bitmapdata位图操作的实现。2008年,Flash又“幸运”的赶上了社交游戏的浪潮,随着Zynga和Facebook的大获成功,Flash在社交游戏的技术领域独领风骚,之后的Stage3D技术又让Flash彻底统治PC网页游戏领域。在Flash最为巅峰的这么多年内,任何其他类似的技术都没有在与Flash竞争上胜出,期间也出现过若干“Flash Killer”,包括Silverlight,JavaFX,Lazslo和Unity Player。作为胜出者Flash自然有他的缘由,就是独一无二高度统一的Flash Player,强大的内容设计开发工作流,多年积累而成的强大的社区生态。水满则溢,月盈而亏。Flash开始走下坡路业界都认为是从苹果乔布斯的那篇檄文而起。没错,那篇檄文是Flash开始走下坡路的开始,后续的一系列对Flash的不利消息又接踵而来,都给Flash造成了沉重的打击。我这里给各位总结一下Flash由盛转衰的几个重要事件。它们分别是:苹果ios不支持Flash Player.MACOSX系统不提供面向Flash Player的视频硬件解码能力调用。Adobe Flash Player所建立的Open Screen Project(OSP)计划的推进不佳被终止。

Adobe宣布裁撤Flex团队,终止Flash Builder开发计划,并将Flex项目捐给Apache,这间接促成了Google AngularJS的大获成功,因为AngularJS的作者就是Flex的核心科学家。Adobe不再开发android系统的Flash Player后续版本。Adobe宣布终止开发了80%的ActionScript4.0和AVM3.0项目。Adobe终止了Stage3D的后续开发工作。Adobe终止AIR SDK的ANE(Adobe Native Extension)和内置Webkit的开发维护。Adobe裁撤整个中国研发中心,其中有很多工程师原属于Flash团队,其中包括Flash Player,Stage3D,CrossBridge(原Alchemy),骨骼动画以及Platform Evangelism。(很有趣,其中一部分工程师后来加入了Egret团队)FireFox曾默认关闭Flash内容显示。(修正:Firefox是因为Flash的一个0-day漏洞默认关闭了Flash内容,在修复后,又重新开启。来源:Firefox now blocks all versions of Flash Player by default)Google Chrome停用NPAPI的支持,并关闭PPAPI Flash Player的硬件加速。Google Chrome将Flash内容默认关闭。可以说是一系列的坏消息,如果合在一起看,那简直是坏的不能再坏的消息了,其中很多的决策来自于Adobe自己,这有充分的理由让我们相信,Flash这个平台型的技术已经进入了最后的生命周期。但Flash给Web进化带来了很多有价值的推动。首先,在Flash最为鼎盛的时期,来自Adobe的官方统计,全球有将近200万的Flash开发者,这个群体不同于其他语言的开发者,可以说他们是一个独特的开发者群体,我们可以理解他们才是真正的“Full Stack”工程师,会开发游戏,会制作动画,会创作富媒体应用,甚至很多人还兼修美术,烹饪和刺绣。从2010年Flash开始走下坡路,这些Flash开发者陆续转型,他们成为了后来众多应用和游戏公司的中坚力量,目前市场上大量的Unity,Cocos的手游开发者,Egret Engine社区里近一半的HTML5开发者,甚至是大量的AngularJS和JQueryMobile的开发者,都来自于原来的Flash社区。其次,Flash开发生态为HTML5标准的进化带来了大量有借鉴价值的范本模型。Adobe通过Flash Professional工具开放了JSFL扩展;支持了JQuery Mobile和WebGL的输出,甚至于矢量绘图的动画都支持CreateJS的导出;Adobe将全球最流行的骨骼动画项目之一DragonBones转给了Egret继续原生和HTML5版本的开发工作;Flex项目的主程成为了Google AngularJS的作者;曾经流行的Flash游戏框架Flixel的作者后来又参与创作了HTML5游戏框架Phaser;被Adobe捐助给Mozilla组织的AVM2虚拟机的源码间接驱动了IonMonkey,SpiderMonkey项目中GC的更新换代和Flash转换HTML5项目Shumway的流行;Adobe的ActionScript3.0的语法方式被Egret Engine团队在HTML5的引擎产品设计上所借鉴;Stage3D项目后续促成了Away3D和Minko等原Flash3D项目完美转型HTML5技术领域。还有很多HTML5相关的视频和音频项目在过去几年的发展中大量的融合了Flash相关的媒体库来提供更多的功能支持,当今大量的HTML5 Video Player都是从原来的Flash领域变换而来。这一切都是Flash技术带给当今HTML5领域的财富。

参考技术A

现实是很多人并未看到这些,看到的是当Apple宣布iOS不支持Flash技术开始,有些所谓的“专家”和“专业媒体”将Flash营造成HTML5的头号死敌的话题博取业界的更多眼球,其实他们并不关心Flash和HTML5为Web领域真正带来了什么,也不关心谁赢谁输,他们唯一关心的就是自己的知名度和访问量。接下来说说第二个观点,Flash从未真正赢得过移动领域。在开始这段之前,推荐各位在知乎看看我回答的这篇帖子“iOS不支持Flash的真实原因是什么?”iOS 不支持 Flash 的真实原因是什么? - 知乎用户的回答。下面则是更多事实可以证明Flash一路走来,赢得了PC,丢掉了移动市场:1.在2004年,Flash跟中国移动对接动画标准一事,当时Flash Lite进入中移动动画标准评测流程之前,已经有两家利用Flash Player 6 SDK泄露的源码而做了山寨Flash播放器的公司在跟中移动对接了,一家韩国公司,一家中国公司,而且接触中移动的时间已经不短。Macromedia虽然是Flash官方,但是最后一个进场,而且当时中移动已经初定一家山寨Flash的产品成为标准,称之为MFlash。虽然中移动知道Macromedia是Flash的官方,技术更强,也乐意重新在中移动定制的功能机上使用Flash Lite标准,但是由于Macromedia坚持要求中移动承诺植入FL的设备总数,并按照单台1美金收取授权费。因为中移动是大公司,多少人挤破头想和中移动合作,但是Macromedia这家美国公司偏偏坚持成为标准,每台设备要收1美金。结果可想而知,Flash第一次错过了中国最大的移动运营商,很不幸的是,主导Flash播放器收取设备授权费的这个美国人跟着Macromedia一同进了Adobe,还被提升成为全球业务的高级总监,不幸的事情再次发生就自然而然了。2.Nokia当年太有钱了,这家公司带头支持了内置Flash Lite,也带头支付给Adobe了Flash的设备授权费用。这一行径使得Adobe坚持认为Flash在移动设备上能收取费用且必须收取费用,不论是任何厂商,都不例外。一刀切的收费策略也自然引发了当年很多大大小小手机厂商的不满,当然,这个Adobe CEO可能不知道,只有我们这些处在一线的员工才了解。但是这条线的决策当时由上面说到的那个美国人来负责时,KPI自然也是以能为公司贡献多少利润来衡量团队业绩的唯一标准。所以,只看眼前利益,不花大力气培养移动生态成了Flash错过移动市场的另一个主因。3.当年Adobe对于Flash播放器的源码访问已经到了无比严苛的地步,只有在美国注册且有实体研发的公司才能通过clean room的方式获取Flash Player的源代码进行移动设备的定制,其他硬件公司都必须通过引入Adobe授权的第三方Porting Partner的机制来获取定制后的Binary Build。这个流程简单描述就是,如果我是一家中国的手机公司,有植入Flash播放器的需求,而且愿意付费,那我要跟Adobe授权的一家Porting公司签协议,这家Porting公司注册在美国,研发在印度......印度,你懂的,然后印度人来中国找我,了解我的设备(这里还有一个大问题,就是即使签署保密协议,但这家Porting Flash的公司必然知道我将来要发布到市场的新手机的所有硬件规格,妈蛋啊,我新手机保密还未上市就都让别人全知道了,有可能这家知道我的手机规格的公司还在为我的竞争对手做porting!虽然有了保密协议,好吧,就当是完全保密吧。),然后评估是否可以移植Flash,然后回印度在clean room里访问Flash源代码,进行移植。移植完成后,要把装有定制Flash Player Build的样机送回给美国Adobe进行认证和备案,符合一切QA认证流程后,告知我可以出货了。这个蛋疼的流程虽然我不知道当初是谁制定的,但是结果就是,我有款新上市的手机有植入Flash的计划,我要先把我的硬件信息全部公开给第三方进行评估,而且手机将来能否出货,要先等几个月的Porting和Certify的流程,还要先付给Adobe一笔预付款,最后可能手机上市日期因为种种原因流产了。。。这么死板不人性化的流程成为Flash错过移动市场的第三个主要原因。

以上是关于未来是 HTML 5 还是 Flash 的时代?的主要内容,如果未能解决你的问题,请参考以下文章

电商时代牵手优颂乐购商城赢未来

使用数据库创建的Flash 游戏- Pronto Move Shard

Flash时代正式结束,html5准备好了吗?

微商城免费时代结束,三巨头的贴身肉搏?

人工智能时代,应立即学习python

未来智能