2012年12月27日 星期四

熊攀峰:Flash不会死,而且已经脱胎换骨

雷锋网
from 抽水
http://www.leiphone.com/1227-ce6093-flash-2.html

说起Flash,很多人会把它和低效率、兼容性差等问题联系到一起。随着IT界新宠HTML5的诞生,很多媒体为了某些目的而制造"Flash将死"之类的话题。其实Flash依然是以前的Flash吗?

早期Flash的特点是通过矢量渲染方式来解决低带宽时代的互联网动画和互动创意需求,不过它是以牺牲部分执行性能来换取可视化便捷互动开发的。比如1999年,Flash3.0的互动脚本仅有大约13条语句而已。但门槛低会出现两个极端:大量的业余作品和许多大师级互动创意杰作,而这些业余的作品很容易让人把Flash和低效率之类的负面联系起来,特别是在2010年乔布斯发表《Thought on Flash》之后。

其实之前小编也发表一些HTML5对比Flash之类的文章,那时 Flash开发者大会的成员熊攀峰针对文章的部分内容发出了强烈的反对。随后小编逐渐跟他交流起来,才意识到自己对Flash的理解大致还停留在06年。

熊攀峰在大学期间主修的是国际贸易,一直喜好游戏和动漫的他接触到了Flash,认为它是一个互动/动画的开发利器。从99年自学Flash开始,他前后做过Flash广告、Flash网站设计、互动创意策划和游戏开发。对于Flash编程,也许不敢说精通,但是已经累积了10多年的开发经验,有自己的一套见解。在他的眼中,Flash又是何物呢?以下是雷锋网对他的采访。

右起第二位为熊攀峰

Flash为什么能崛起?

在很多IT技术人眼中,Flash只是区区一介浏览器的插件。单纯从技术上来看,这并没有错。但是为什么这个小小的插件技术就能崛起并成为包揽互联网各种互动体验的王者?

用户在看到一款产品或者应用的时候,根本就不会在意其是如何实现的。只要它们运行起来流畅、前端互动效果做好,就能吸引用户。引申到游戏开发上来说,并不是代码执行效率高的游戏就会大卖,第一眼接触后吸引玩家的不是技术,而是应用商店的图标、游戏截屏、介绍以及游戏中的互动体验。而Flash为前端开发带来极好的产品体验,和传统C/Java语言平台不同,可以说AS3完全就是为了提供一个完善的前端解决方案而度身定制出来的一门OOP语言。

第二个原因就是可视化的舞台和时间轴对于设计师来说上手很快,这里我们引入一个概念叫做"开发体验"。作为设计师来说,最痛苦的事情莫过于看一堆没有图片和外形的文本(比如说代码)。所以一旦涉及到做互动的应用,交互设计师往往第一个想到用Flash,一个是因为可视化程度高,可以很好的控制动态效果;另一个就是开发效率很高,打个比方说,按照设计需求订制一个带残影的人物静态动画效果,用Flash中的时间轴加上MovieClip(Flash中的一种动画元件)嵌套组合,一个有经验的Flash设计师,大约10分钟就搞定。而如要交给原生语言来实现,需要一个设计师、一个程序员相互沟通配合以及反复调试,恐怕要半天才能达到要求。传统的软件开发中对于UI控件的依赖性很高,而前端互动体验中的需求灵活多变,往往需要定制才能实现。所以在互联网广告、游戏等各种需要创新和定制体验的领域,Flash大行其道。

"Flash必死"的说法并非第一次

现在一些媒体一直热炒HTML5注定要取代Flash,熊攀峰对此笑而不语。其实在整个Flash的发展历史过程中,早已出现过各种对手。 2002年,Adobe就第一个推出了同为网络矢量动画解决方案的SVG(Scalable Vector Graphics) 来和Macromedia的Flash分庭抗礼,结果SVG几乎被人遗忘 ,而Adobe在2006年直接收购了Flash的东家Macromedia才为Flash注入了更多位图渲染功能和完善的创意工作流。后来,微软的Silverlight这个.Net架构下的前端解决方案当时也曾经一时间被IT业界誉为"Flash杀手"。

为什么它会被称为"Flash杀手"?因为这套解决方案对传统程序员开发太友好了!可以方便的拖动控件,而不像Flash那样去定制UI组件。另外它还整合进入了.Net开发环境,对于程序员来说更是如鱼得水。

但是为什么后来又"蔫"了呢?因为前端解决方案对设计师友好才是王道,对开发者友好并不会起到立竿见影的效果。比如说Flash的开发者往往了解帧率起码要是30FPS,互动体验才算流畅,有更高要求的专业游戏帧率最高则是60FPS。而对于从软件开发转到前端的程序员来说,他们往往最初使用的是默认值12 FPS,从而在非技术层面造成了互动体验的很大差异。软件开发和互动开发最大的差别,恰恰不在于技术,而在于对前端体验的理解程度。尽管SilverLight也有可视化舞台,也有时间轴动画,甚至还有更适合软件开发的各种控件机制,但是用的人往往不是很懂前端的理念。加上推广SilverLight插件困难重重,所以Flash最终"活"了下来。

现在回到HTML5,现在很多人说跟风说Flash效率低、跨平台差,甚至再度说起"Flash将死",因为他们并不了解前端开发,更不知道这几年来Flash也发生了很大的变化。

这几年来,Flash有什么革新?

首先需要说明一点,AIR(Adobe Integrated Runtime)就是将Flash应用脱离浏览器框架,直接成为各种台式机、移动设备平台的App解决方案。台式机支持Windows/OSX/Linux (仅AIR 2.0),而目前AIR在全球移动应用市场,已经发布了超过25000个App,包括iOS/Android/Blackberry OS。其中有很多是发布后登上过App Store榜首的作品,欧美市场有"机械迷城",国内开发者的作品"被错过的天堂"同样在今年6月登顶台湾区。

自去年Adobe将Flash定位于"游戏开发"和"视频增值服务"之后,Flash的变化相当大。而且这一年Flash的变化可以说比往年都来的要猛。原有Flash开发中各种约束,比如说增加了Flash开发者盼望了十几年的右键功能。

首先是Flash API中增加了鼠标右键、中键的支持,使得开发者可以在各种页面游戏中"左键攻击"、"右键移动"。同时也增加了全屏游戏模式下键盘输入监听和鼠标无限判定,而这个功能无疑使需要持续锁定鼠标输入的各种3D游戏得以实现。

其次是Stage3D——新增的Flash调用GPU进行底层硬件渲染能力。可以说这是从技术层面极大的解放了原先的Flash处理2D/3D性能不够的问题。其最大亮点就是令2D/3D图像渲染得到数十倍的提升,加以各种高效粒子和动态特效的辅助,大大的丰富了Flash传统2D游戏和新兴3D应用的发挥空间。Stage3D经过全球Flash生态圈的推波助澜,已经相继引爆网络3D应用及游戏的革新、国内外各种媲美次时代主机画面的网站应用和游戏层出不穷。

在2012年3月份的时候,AIR正式支持移动设备中运行Stage3D App,使得支持Stage3D的设备(所有iOS 4以上设备和大约40%安卓设备,这个比例随着各种安卓硬件升级迅速提高中)拥有了几乎和原生匹敌的渲染效率。

还有今年11月Adobe发布的FlasCC——Flash的C++编译器。可以很容易的将上百万个现有的C/C++类库编译为Flash类库,并以C约80%的效率执行在各种台式机和移动设备上。意义有两个:

结合Stage3D,让传统的游戏开发商比如Activition、Ubisoft、SQAURE ENIX可以在改动很小的情况下,将自己的当红游戏比如"使命召唤-现代战争"系列迅速移植到Flash平台成为页游。其中"虚幻引擎"已经率先推出了一个Flash demo

Flash开发者则可以借助FlasCC将现有的复杂运类库,比如C版本box2D物理引擎,变为Flash的类库加以调用,更可以通过AIR跨平台发布到各种移动设备。

最后就是ANE (AIR Native Extension)。让AS3与各种台式机、移动平台原生语言合作的方式,解决一些Flash原生API无法完成的事情。比如调用和修改iOS设备上的通讯簿、短信、备忘录和日程提醒,游戏中则可通过ANE直接联动Game Center和实现App内置付费等功能。用AS3高效开发和出众的前端体验,整合原生语言优势,让Flash应用的产品体验提升到一个全新的台阶。

Flash目前遇到那些问题?

Adobe这两年一直在致力于解决各种游戏开发的障碍。不过这种变化增加了程序员的学习成本。比如说Stage3D这种渲染技术,它和原先的CPU渲染机制完全不同,程序员要重新学习。另外,传统Flex框架在移动端效率不理想,目前还是推荐开发AS3移动项目。在资讯类App方面,图文混排一直是Flash的弱项。尽管Adobe推出TLF框架来改善,但在移动端由于开销太大效率差强人意,这点上比最初就是为了在Web上显示图文而生的HTML5差了很大一截。

在对外宣布停止更新Flash Player和开源Flex框架的过程中,Adobe并没有选择很好的时机或者方式。很多不了解Flash的媒体趁机制造"Flash岌岌可危"的言论,给Flash开发者带来了很大的困扰,甚至导致部分人才和AS3入行新手转攻其他语言比如JavaScript。尽管今年陆续有很多因为Flash快速发展而重回AIR开发的行列中,但毕竟走了一段弯路。

作为设计师来说,很多只熟悉Flash CS Pro可视化舞台和时间轴体系。他们暂时还不能通过写代码来实现高效的Stage3D或位图渲染能力,这也是迫切需要改进的地方。

最后的话:熊攀峰认为Flash这几年受了不少委屈,主要原因是其负担的应用层面太广,所以往往容易成为卷入利益纷争的中心。只要有任何一种新的技术直接或者间接在前端交互领域中有所涉及,媒体往往会出自于某种目的而将它视为Flash的对手来看待。在此他希望大家能够通过这次的采访对Flash有新的理解。

相关文章:

HTML 5是不是解决跨平台问题的终极密钥?

(若无特别注明,雷锋网文章皆为原创,转载请注明出处)
原文链接: http://www.leiphone.com/1227-ce6093-flash-2.html

抽水 @雷锋网
关注创业公司的动态,欢迎接受采访。其实采访才是曝光产品的最佳角度! 偶尔吐槽,欢迎爆料:ce6093@gmail.com 微博:@-抽水- —————————————— 我有一个梦想,它活在另一个世界
扫描雷锋网微信二维码
下载雷锋网iOS客户端
您可能也喜欢:

Flash为什么搞不定移动市场

雷锋读图:HTML5和Flash是一场无止境的争论

Google发布Flash转HTML5工具Swiffy

在游戏领域,性感的HTML 5不敌Flash(信息图)

HTML5还是Flash?不关我事,我有Yokto
无觅




ifttt
Put the internet to work for you. via Personal Recipe 673252

沒有留言:

張貼留言