Thoughts on Flash
For English version, please visit here.
注:以下内容只代表我个人意见和看法,非Adobe官方言论。
非常抱歉借用了乔帮主的标题,不过我真的认为它对本文来说再合适不过了。一直以来我对于Flash和HTML5之争乃至于Adobe与Apple之争甚少表态,不过今天,看到乔帮主以其九五之尊竟然能洋洋洒洒写了1700多字来讨伐Flash,我也却是心痒难搔,不吐不快。不敢说写此文以正视听,至少能给本已为数不多的“有独立思考能力”的人群一个参考。
这个地球上有两种人,一种人用嘴说话,另一种人用事实和行动说话。
1. Flash Player太慢,不足以运行在手机上?
这是乔老爷在iPhone刚刚上市的时候提出的拒绝Flash的借口,但是如果你参加了前不久的Adobe平台技术峰会,一定还对那个在Google N1上运行流畅的Flash 3D机器人大战印象深刻,我也特别录制了Popcap上的Flash游戏在完全没有优化过的情况下在手机上的运行效果。除此之外,还有各种不同种类的演示以供参考(1 2 3 4 5)。现在,Flash Player for Android很快就要发布,AIR for Android也随之而来,还有谁能说Flash不足以在手机上运行?
2. Flash Player会耗尽手机电池?
我只能说,这个观点有够无聊。手机不是永动机,任何方式的使用最终都会耗尽手机电池,只不过是耗电快慢的区别。关于这个问题,我不知道乔老爷何来自信去指责Flash Player。根据各种在真实环境下的实验表明,Flash在手机上根本不是耗电大户。在Nexus One手机上使用Flash播放H.264视频时电池续航可以达到3个多小时。而新浪微博的产品经理告诉我,在iPhone上玩相对简单的微博应用,电池也不过最多撑3个小时。更重要的是,Nexus One可以更换电池,而乔老爷显然剥夺了用户这种权力。
3. Flash Player是CPU Hog?
一直以来Flash Player在Mac上的CPU占用率为人诟病,特别是在播放高清视频时。乔老爷还借题发挥,强调HTML5在这方面是多么强大。而后第三方的测试很快证明,Flash Player只在Mac平台的表现弱于HTML5,在Windows平台,Flash Player在大部分情况下性能还要好于HTML5。更讽刺的是,在最新的Mac操作系统开放视频硬件加速API后仅仅一个星期,Adobe就已经推出了支持Mac H.264硬件加速的Flash Player版本,经测试CPU占用率骤降2/3。敢问,究竟谁比较懒?究竟是谁不够开放?
4. Flash为了适应触摸屏需要“重新编写”?
一个牵强至极的理由!我不知道乔老爷是否真的曾经在手机上使用过Flash,就像我之前提到过的,无数的Flash应用(如视频,游戏,广告等)在完全不加修改的情况都可以在手机上运行良好,触摸屏上的基本操作可以被自动转化为鼠标操作(如鼠标点击等)。对于其他应用,内容提供商所需要做的只是针对触摸屏对用户界面稍作优化(例如放大按钮,增加多点触摸操作方式等)即可,现在已经体验过Android版Flash的朋友相信都有体会。
而很多在桌面平台上运行良好的Flash应用,放到iPhone, iPad上,就必须用HTML5或Objective-C来“重新编写”,而且是真正的、彻头彻尾的“重新编写”。与对现有的应用进行适量优化比起来,乔老板的这个理由已经无异于抽自己嘴巴了。
5. Flash是封闭平台?
这是乔布斯号称拒绝Flash的“最重要的原因”。但我想告诉大家的是,Adobe最近几年一直致力于对开源社区的贡献,SWF格式是开放的,FLV格式是开放的,AVM是开源的,Flex SDK是开源的,BlazeDS是开源的,而且这种开源进程还在不断加快推进。对于那些和Adobe合作的终端厂商,Adobe也非常乐意提供Flash Player SDK,帮助他们在各自的平台上实现和测试。
而谈到“封闭”,我想苹果称第二,相信无人敢称第一。因为20年前的孤傲、封闭而在个人电脑市场上惨败给微软的乔帮主,很显然仍然具备着这种与生俱来的特质。借HTML5是开放标准之名来绑架开发者的想法的确很巧妙,但经不起推敲:
- 一个“开放的”公司会不会禁止开发者使用他们喜欢的和擅长的语言编写程序?
- 一个“开放的”公司会不会只要和自己的商业利益稍有冲突的应用通通不允许上架?
- 一个“开放的”公司会不会连“视频硬件加速”这种基本接口都一直不肯开放给第三方?
这样一家公司举着“开放的”大旗号称“拥抱标准”,只让我想起了一个历史人物-吴三桂。:P
最后套用某人的一句话:“什么是开放?开放有时候意味着把选择的权力交给用户(开发者)”。用户如果不喜欢或不需要Flash,他们可以选择放弃。但苹果没有权力替用户做出这样的选择,就像你们替iPhone用户选择了不需要更换电池也不需要外接存储卡一样。
6. HTML5会取代Flash?
这是乔老爷首先抛出来的论调,随后引起部分人的跟风炒作。但我相信乔老爷并不真的在乎HTML5是不是开放标准,他在乎的只是Flash Player的发展是他所不能控制的,而HTML5可以。从一个技术人员的角度讲,我认为HTML5是个好东西,我也很喜欢JavaScript这门语言(虽然我并不精通它)。但是我希望那些替乔老爷摇旗呐喊的开发者能够静下心来的思考一下,HTML5是否真的足以取代Flash?而这对开发者群体有什么实质性的好处?是否因为你使用HTML5而不是Flash你的老板就会给你发更多的奖金,或者你地位就得以提高?No! 在我看来,HTML5仍然有着很多关键性的硬伤以至于它在可见得未来内都不可能对Flash造成实质性威胁:
6.1 平台分裂 & 标准之战
这是一个百家争鸣的时代,平台差异性已经从简单的操作系统差别上升到了三维的“设备差异+操作系统差异+浏览器差异”,不同平台和不同浏览器之间的巨大差异性在大大提升开发成本的同时对开发者本身的能力也提出了挑战。移动互联网的兴起让这个问题变得更加突显,未来对于那些所谓的“标准”开发者来说,他们将要面对的是(Mobile + Tablet + Desktop) × (Win + Mac + Linux + Android + WebOS…) × (IE6 + IE7 + IE8 + IE9 + Firefox + Safari + Chrome…),现有的桌面平台浏览器的差异性已经让JS开发人员叫苦不迭,HTML5的引入势必加剧开发环境的恶化。更何况标准的制定旷日持久,各家厂商因为利益问题(如视频编码的采用)尚且争执不休,哪还顾得上对标准的实现是否统一?即便真的有一天统一了,我也不知道会是何年何月。
6.2 设计师阵营
HTML5引入了Canvas使得它具备了强大的图形能力这不假,但大家似乎忽视了一个重要的群体-设计师阵营。无论是漂亮的网页,还是炫目的RIA,抑或是引人入胜的游戏,都离不开设计师的参与(全才除外)。可惜设计师不认识什么是Canvas或是JavaScript 2.0,设计师只熟悉Photoshop,Illustrator或是Flash 。而拥有庞大的设计师阵营和具有最强设计工具开发能力的公司,正是Adobe。对于Flash开发者来说,他们不仅拥有ActionScript 3.0和Flex,还有各种强大的设计工具的支持和最完美的的设计/开发工作流。这是一个生态系统(ecosystem),而不是一门独立的技术。
6.3 平台能力
HTML5很强大,那是相对于现下的HTML+JS1.0而言。但如果和Flash比较,我认为HTML5仍然有很多功能性的欠缺:(这一部分由于我对HTML5的了解有限,如有不当请指正)
- 首先是人们说的最多的视频方面,尽管HTML5支持H.264高清视频和硬件加速,但是在对视频的控制和交互上仍然孱弱。FMS和Flash Access对多媒体内容的强力保护也是HTML5所不能及的。
- 网络方面,据我所知HTML5并未引入新的网络通讯模式。而Flash支持除了HTTP以外的多种通讯模型:RTMP,RTMFP,Socket,LocalConnection等。而多样化的网络通信模式也是很多RIA应用及在线游戏的基础。
- 动画广告领域,如我之前所说,由于缺乏设计工具的支持,在这个领域仍然不可能赶超Flash。而最先支持HTML5动画制作的厂商正是Adobe。
- 多媒体领域,HTML5缺乏对摄像头、麦克风等外设以及音频编辑等方面的支持
- 电子出版领域,新的Text Engin在文字排版方面的控制力甚至已经超过了HTML
- Flash P2P (案例:全球随机视频聊天网站Chatroulette)
当然随着HTML5规范的发展,这些功能相信会逐渐完善,但是现在连HTML5第一版正式规范推出都不知道是何年何月,以后的发展就更难预期了,最终的结果就是回到我说的第一个问题:平台分裂。
6.4 代码安全性
老实说这也不是Flash的长项,经常有人抱怨Flash的代码容易被破解,造成一些关键代码泄露。但至少,由于Flash是二进制格式且支持Loader,我们可以用很多办法进行加密和高度混淆。虽然不是100%的安全,但至少可以相当程度上提高破解的难度。然而HTML和JS的明文特性从根本上决定了在这个问题上必然会更加无力。
以上,就是我对最近的HTML5与Flash, Adobe与Apple之争的一些看法,如有不当请指正,也欢迎讨论,但请“言之有物”。
相关日志:
好文章~~!
沙发??
乔布斯的文章我看了翻译版,个人认为,观点基本上都不符合事实。说了一大堆冠冕堂皇的理由,其他大家都知道原因只有一个,那就是利益。
同意
4/30 是ipad 3g出货的日子,其他的不解释
也是Adobe CS5开放下载的日子 -_-
瞧不死压根就没考虑跨平台的事情,在他眼里只有Apple的东西,他那样抨击flash是极其不负责任的,完全是贼喊捉贼。沉默是对诽谤最好的答复,Adobe继续做好产品,就让他叫嚣去吧。
说的好!
即便flash真的像乔布斯说的那么不堪,Apple也不应该剥夺用户使用flash的自由。难道因为肥肉有害健康,我们就该禁掉吃回锅肉的权利吗?
明知道一块肉有毒还要做进菜里是黑心商人
好文!
jinni写英文版吧。我要好好的spread一下,不过说实话jobs的文章发的真的很聪明,我觉得Adobe里面很难找到一个这么聪明的人,唉。
好~我稍后写英文版~
你说直接Google翻译行么? >_<
对于这么一篇好文,这么能用Google翻译草草了事呢,写英文吧,看好你哦!
其实公司不让我们对此事发表评论,因为官方已经表过态了。
Done. http://swfever.com/?p=1351
html5和flash不存在谁取代谁的问题,各有所长。但我觉得,一款浏览器插件(flash player)装机量达到90+%是不正常的。互联网应该是建立在一个通用的标准和协议上。。。。要吃饭去了。。。改天再来。
阁下,
滔滔不绝,连绵不断,
佩服佩服!!
既然是利益纷争那就谈利益。
别一边搞利益一边讲公义。既然桥大叔台面上讲公义台面下讲利益,那我有何不可索性做回真小人?
这里各位有多少用ObjectiveC的?有多少人有IPad iPhone的?
如果以后真被狗啃掉的苹果统一了市场,你们都是做FLASH的!
你们有多少人能知识更新到ObjectiveC,最后保住自己饭碗的?
这个更新要花多大的代价?你更新完后老板会多给你半毛钱工资?
想想吧,这些事情都关系到你们自己的饭碗。
你们这些FLASH程序员现在不捍卫自己的饭碗还等到什么时候?
您到底想表达什么意思? 如果有不同意见,何不逐条批驳?
这个不过是复制我在BI论坛的观点罢了 批驳的观点全在那边。
http://bbs.blueidea.com/thread-2982658-1-1.html
好文啊 好文
更重要的是,Nexus One可以更换电池,而乔老爷显然剥夺了用户这种权力。
我很欣赏你!
写地太好了,经典!
道出了我们flasher的心声,真的写的很赞。
就是论事,这篇文像是Apple Hater写出来,而不是flash维护者写出来的,
比如:”在Nexus One手机上使用Flash播放H.264视频时电池续航可以达到3个多小时。而新浪微博的产品经理告诉我,在iPhone上玩相对简单的微博应用,电池也不过最多撑3个小时。”
这是明显的主观评论,没有数据,没有测试。在我电池很弱的iPod touch上,tweetie也至少用四五个小时,或者是新浪微博的客户端只能用三个小时,那也只能说明他们的软件也是CPU Hog。而且,比较Nexus One和iPhone的电池,跟Flash完全无关,只是Hate iPhone而已,诸如此类,不是很冷静。
我就只指正一点,apple从来没有吹嘘自己的平台是“开放”的,他们标榜的是创新和最佳方案,相对于apple平台,flash确实很开放,但相对于 web平台,flash却绝对是一套封闭系统。
实际上jobs在那篇文章里正是讨论了这两个平台,一个是属于所有人的web,一个是他们自家的iphone/ipad。
apple先是通过safari mobile不支持flash,在web平台上拒绝flash,后来又通过section 3.3.1在apple平台上拒绝flash,两次拒绝的理由并不相同。
对web来说,拒绝flash的原因是“we strongly believe that all standards pertaining to the web should be open”. 而且apple在web领域做的事情一直都符合开放原则,从canvas到webkit。只要把webkit和flashplayer都看作一种支撑web 的虚拟机,就可以识别出谁是开放的谁是封闭的,以及开放封闭产生的不同结果:webkit被包括google在内的多家企业采用和改善,几乎成为业界标准,性能快速提高,新标准快速采纳,google和apple在自家产品上做的改进一直在回馈给开源社区和上游项目(比如最近的webkit2 api),而flashplayer的发展完全取决于adobe开发团队的有限能力,取决于adobe高管的短期商业决策,改进缓慢,不重视市场份额少的平台,导致了越来越受关注的可靠性、安全性和性能问题。
对apple自家的私有平台来说,拒绝flash的原因则跟开放没有一点关系,仅仅是因为apple不能容忍自己的发展节奏和创新速度,被第三方钳制,apple本来就是一家通过极致的控制来整合出最佳产品的公司,无论是硬件设计,软件开发模式(NeXTSTEP的面对对象体系)、编译器(LLVM),图形技术,还是芯片,只要是产品体验的关键因素,就要抓在自己手里。另外,就算这确实不是一个技术问题,而是利益问题,那么apple关注的也是长远利益,而adobe在不成熟的条件下鼓吹open screen和跨平台,则是着眼于短期利益。想想看如果没有apple对flash的拒绝,adobe会不会一直安于现状得过且过?开放者和用户们会不会要长期忍受一个性能糟糕、在移动平台上实现不完全的flashplayer?就好像微软那个五年没有升级过的IE6一样。
只要抛开党同伐异的成见,理性看待问题,就应该会期望apple对adobe的打击能产生正面的影响,就好比firefox对微软的影响一样。在可以预见的未来里,web都是由ie和firefox共同支撑的,ie的提高对整个web都有好处,同理,flash如果能更快的改进和开放,受益的是大家。
我也觉得现在大家反应比较过度,Adobe的CEO说Fuck you apple也就罢了,没必要一个Flash粉丝也说Fuck you apple,也许明年他们两个又抱到一起了。
感谢你的评论,这也是我期待的“言之有物”的评论 :-)
我觉得你说了这么多html5还有Apple的缺点,不是一个好的思路
就算你把Apple贬到地底下,他还是有那么大的市场,有那么多占有率,
像驼鸟一样把希望寄到Android上是不现实的。App Store里面永远不缺想淘金的人,
你可以清高地只用Flash不用别的,但是人们会用钱去投票。
Apple再有你说的那么不堪,他上面有那么多优秀的应用,完全超越了Flash的体验。
简单地说,就是现在已经有了html5和所有的新技术,为什么还要用Flash做新项目,
你只说的 CPU没那么占,手机上面没那么慢,也没那么不开放,这些也不算优点啊。
你说的广告之类的东西,就更不是理由了,而且你说Flash在Windows上效率相当高,但是
据我所知有很多人是禁用Flash来挡广告的,除了不喜欢看广告之外,CPU占用也是一个很
大的原因。
作为一个懂技术的人你不觉得JOBS这篇文章很扯淡吗?
“你只说的 CPU没那么占,手机上面没那么慢,也没那么不开放,这些也不算优点啊。”这句话很低能。
这篇文章不是在说flash的优点,因为flash的优点不用说。这篇文章是在揭露JOBS是如何小肚鸡肠的打压FLASH的。
就算Jobs是為了捍衛Apple的利益好了,我覺得他指責Flash效能的部分其實並無不妥耶。
許多Flash應用程式與網站的確很消耗CPU,Roxik的那個3D機器人大戰是特例中的特例,他自己的3D引擎Sharikura效能是知名的高,所以才會被挑來demo吧;但是Sharikura畢竟不是opensource,大家都還是得用PV3D等opensource的3D引擎,效能就比Sharikura低了許多。
我希望Adobe可以朝改進Flash Player效能的方向前進,盡快支援PC的全面繪圖GPU加速吧!
P.S. 我也是AS Developer唷~ :)
今天早上起来看到微软IE9的表态了,也是倒Flash派的
当然他们的如意算盘是Silverlight,但起码你说的Flash用于开发的优点,不会比Silverlight更好,
SL还有.net都比AS要更适合开发,
Adobe做创意程序还凑和,做开发的东西差得远。
现在可以说是四面楚歌,只有Google比较支持Adobe,但你也说了,就是利益。
看看Android对Linux的态度,一开始大家以为他够开放了吧,实际后来也成了Google自己家的小花园,关键部分都是私有的东西。现在Android利用Flash,难说到后来会不会弄一个只能在Android上用的Flash版本,到头来你必须买Android设备调试,(当然有很多人会心甘情愿)。
话说,我觉得jobs前面几条都是可有可无的,倒是最后一条才是重点,也是jinni没有批驳的。就是apple的质量控制。
另外,jobs对flash跨平台的缺点也是一针见血。
jinni说的也没错,什么开放啊、电池啊,都是噱头。
你可以说iPhone上的应用质量普遍较高,而Flash的应用质量参差不齐,但这些都不是Apple剥夺用户选择权的理由。就像楼上某位同学说的“难道因为肥肉有害健康,我们就该禁掉吃回锅肉的权利吗”,更何况Flash应用中也有很多精品。
用什么技术做开发不要紧,我也不相信Flash会在Web开发中绝迹,也不相信Html5会秒掉flash
好的创意,好的效果,用什么技术实现不要紧,重要的是要让使用的人觉得够味
技术始终是一种工具而已,需要用它加工出既让人惊叹又实用的东西来 …..
看了各种关于Flash和Html5的文章,各种测试结果,flash或者是Html5的产物,到底怎么样,两者都去用用,想用哪种语言做开发,看自己喜好喽!
赞!神化html5这种伎俩实在比较低能。我坚信我的工作靠的是创意和创造力。
哈哈…思伟额,在天地会上就看到了你的好文,加油!
html5 引入了新的通讯方式 WebSocket. 比较新的版本的 chrome和webkit都实现了。
同时还有 WebGL, 这个比 Flash 要强大多了。
MS,APPLE,Adobe 三家公司,个人更看好Adobe,Apple,至于MS,最近几年,一直都是雷声大,雨点小,对MS很失望! MS,想告诉你,你不够实干,总是叫嚣,总是吊我们的胃口,可到最后总让我们大跌眼镜! 从你的Vista! Windows 7, Windows Mobile, Office,IE8,我的体验真的很差!不得不放弃你的产品,现在又在鼓吹HTML5? Silverlight,已经出世两年了? 有几个成熟的商业产品在用呢? 有几家公司敢用呢? 更有几家公司靠Silverlight赚到钱了呢? MS,希望你不要叫嚣了,对你失望了,多一点实干吧…..
想对HTML5说:你还太太遥远了,我们还是活在当下吧!!!HTML5那点可怜的“创新”特性,勾不起我们丝毫的兴趣,你在襁褓的时候,Flash已经远远超过你了…….HTML5还很嫩。
想对Apple,乔布斯说: 不要那么功利! 你已经老了,尚能饭否?我对你的“光辉印象”开始变得很糟糕。
想对Adobe,想对Flash说,Apple虽然不抬举你,但Apple的商业模式和生态系统是你远远无法比拟的,你虽然进步很快,工具集和软件生态系统发展的很不错,但你的商业生态系统还很“糟糕”。
还有,FlashPlayer,你的效率真的不怎么样,Flashpalyer确实有点封闭,真的希望你能像Webkit那样被外来血统继承和广大,希望你在APPLE ,MS的硝烟里,走的更快,更远…对你有信心。
确实,adobe的强项在photoshop和illustrator,这一点微软已经行动,估计apple会找个机会出手的。
网上说adobe已经起诉apple反垄断了,这事是真的吗?
利益之争!看看哪个更厉害!
相当好、相当鼓励Adobe fans的文章,个人认为事实也是如此,Apple与Adobe的大战,归根结底并不是技术的好坏,而是利益之争,我想这是明眼人都能看得到的,另外给博主补充一条,老乔痛恨Flash的原因,可能很大一个还有对App Store的威胁,如有错误,请高人指正。
PS:博主能否与你做个友情链接?
苹果的人就这素质?还是一个被洗脑的果奴?
别拿html5说事,我支持html5,但和flash并不冲突,他们会并存。网络视频?也许只有ADOBE在乎,反正我不在乎,我只知道有些工作,html5代替不了flash。
已屏蔽,对于这种人哪怕回复一个字也是多余的。
已屏蔽了谁的发言呢?