当前位置: 首页 > 工具软件 > flash light > 使用案例 >

What about Flash?

高才
2023-12-01

http://dreamana.com/weblog/

其实很久以前就想写一篇关于自己对Flash的理解的文章,今天有点空,静下心来慢慢总结一下。虽然近来有一些Flash的好消息,比如AGAL2即将发布,AS3在TIOBE统计表上上升至20位;但是总体来说,我觉得Flash的前景是非常迷茫。

过去

HTML4的大补丁

首先,我不想再去追溯Flash的历史。我认为,Flash之所以存活多年,最后几乎成为桌面浏览器上各种多媒体插件的“唯一幸存者”,原因是在过去 Flash 补充了 Web

以前的Web是蹩脚的,对动画、视频及各种前端交互支持很弱,恰恰Flash填补了这片空白,加上Flash并不像其他多媒体插件那样单纯的只有音频视频播放,而是一种RIA技术(类似有Java Applet,以及后来微软的SilverLight,但是他们的市场占有率都不及FlashPlayer)。FlashPlayer插件的安装量一直居高,这样一来,Flash为许多想做创意作品并发布到互联网上的人提供了平台。

性能低下,完全是Flash的错吗?

ActionScript3的出现无疑是Flash的第一次蜕变。AS3运行在AVM2上面,从技术角度说,整体上是会比旧版的(FlashPlayer 9.0以前)快的。而然,随着FlashPlayer一次次升级,为什么Flash给大家的印象仍然是“吃资源大户”?

我打算不深入解释这个问题,如果有接触过类似于Java技术的人应该很容易理解。

简单地说有几点:

  • 一是技术瓶颈。FlashPlatform属于跨平台方案,目前大多数跨平台方案都存在性能问题,没有哪一个能完美解决的。另外,FlashPlayer作为一种浏览器插件存在,更是受到浏览器本身的制约;
  • 二是开发者水平。程序优化不是每个开发者都会做,不是每个项目都有时间做;
  • 三是官方不重视。持有Flash商标的Adobe公司过去一直没重视Flash的性能问题。直至移动平台开始盛行,Steve Job宣布iOS不支持Flash,Adobe更改Flash路线图专注游戏以及视频之后才得到重视;
  • 四是缺乏图形硬件加速。过去Flash开发者们不能使用GPU渲染图形,于是大量运算只能通过CPU处理,对于没有过多优化的Flash应用常常出现非常CPU占用率。直至FlashPlayer11的Stage3D诞生,Flash才支持使用GPU渲染。

总之,单纯论Flash这种技术,单纯把AS3作为一门语言看待,它本身没有错,说到底它只是个工具。最求性能不是唯一目标,还有易用性、通用性、扩展性等等,牺牲的部分性能却为开发者带来的便利是不言而喻的。

现在

Flash并不是唯一中枪的一个

不能抵挡的移动互联网时代来临了。满大街都是移动设备,人们的习惯被改变了。不仅仅是IT行业,许多行业都面临洗牌。

在这个时候,Apple登上了明星舞台。iPhone的出现,iOS的生态系统的形成。曾经的大牌移动电话,曾经的流行桌面操作系统,曾经的风靡的游戏掌机……都已不再。不可否认,世界改变了。

某天,Steve Job发表他的见解,阐述Apple的移动设备不应该支持Flash的原因,把Flash各种缺点、矛盾摆出来,然后搬出另一个所谓更好的解决方案HTML5

Long live HTML5?

名人发表的言论,未免会被人追捧甚至夸大。好像大家都意识到HTML5是更好的移动Web解决方案。但,HTML5是何物?

最终用户:管他呢,总之只要不用Flash!看视频不会卡机就好了。
传统Web开发者:你看你看,HTML5多厉害!不但播视频不用Flash了,还可以做游戏,3D! WebGL!
Flash开发者:省省吧,各种兼容性问题,开发起来不如Flash方便。功能不全,过几年跟上了再说吧

许多人都没有深究HTML5是什么东西,他们只会道听途说。做技术的很清楚技术的优缺点。但很多Flash开发者都忘记是Flash是怎么发展起来。HTML5的总体来说更难用是因为处于发展初期,组织松散,但不代表它没意义。相反,大量开发者的加入会更容易推动其发展。况且,现在已经有相当多JS框架,IDE,以及交叉编译方案可以选择。

而我也稍微接触过网页开发,所以我不会抵触HTML5,也不想袒护Flash。说实话,HTML5要比过去的Web“丰满(Rich)”(不过学习门槛也提高了),而且为了适应移动互联网时代,Web要向前发展是必然趋势。也许哪天不需要Flash这个大补丁了,那么Flash就可以从网页上消失了。很明显Adobe也意识到这个风险,于是自己先妥协了,但这一步,退得太快,伤害了一大群开发者。

归根到底,Flash的没落都因时代的变化,技术的生命周期,不可抗拒。而不是因为被人口诛笔伐,不是它本身很烂,更不是有了更好代替品。

我们不应该把一个新生的工具(HTML5)夸大成瑞士军刀。 为什么?下面换一个话题吧:

Web还是App?

众多统计表明,移动设备用户对App的使用频率要赶超Web了。人们已经习惯了使用App去接入移动互联网,Web与App的比例在拉锯着。对于低耗低功率的移动设备,似乎App更有优势。当然,当前也有很多HTML5转APP的方案,但毕竟那已经是变成是客户端,不再是B/S模式的Web。

而目前看来,曾经说大力支持HTML5的iOS系统上的Safari浏览器就不支持WebGL(或者说是屏蔽了)。很明显,Apple需要维护他的App生态系统,而不想被Web侵占。

那么,还能确定HTML5就是救星吗?谁敢保证HTML5生命周期很长?

AIR – Second life of Flash

换了一个名字,大家就认不出来吗?AIR就是属于Flash技术,让Flash应用转化为独立客户端。AIR是就像一个备胎,最初他不是为移动平台设计的,而是桌面系统。AIR本应是Flash的第二次蜕变。因为他可以将Flash技术从浏览器中解放。

但令Flash开发者们最为失望的就是,自从Adobe策略性转移投资在HTML5上,对自家的Flash投入就日渐缩减。各种路线图修改,各种人员调动。Flash开发者不断流失,Flash社区变成“死海(Dead Sea)”

将来

Flash到底何去何从?

Flash技术还没有死;但是Flash生态系统已经不如往日。

作为一名长期的Flash开发者,我觉得从这个平台上面学到了许多,也积累了许多很有用的经验。这种经验,就如Thibault Imbert所说的,可以给它一个名字叫Flash DNA。即使现在转向使用HTML5,转向使用移动平台的游戏引擎如Unity, Cocos2d-x等,又或转向使用CreativeCoding的框架如OpenFrameworks等,Flash DNA仍然可以给到很大的帮助。

所以,不要抱怨现状,不要抛弃宝贵经验,只要Stay Hungry Stay Foolish,适应时代的变化,我们仍能很好地面对将来。

 类似资料:

相关阅读

相关文章

相关问答