- 注册
- 2002-10-07
- 消息
- 402,268
- 荣誉分数
- 76
- 声望点数
- 0
感谢匿名人士的投递
非常抱歉借用了乔帮主的标题,不过我真的认为它对本文来说再合适不过了。一直以来我对于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是为PC使用鼠标控制设计的,为了适应触摸屏需要“重新编写”
一个牵强至极的理由!我不知道乔老爷是否真的曾经在手机上使用过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是开放标准之名来绑架开发者的想法的确很巧妙,但经不起推敲: 一个“开放的”公司会不会只允许开发者用指定语言编写程序? 一个“开放的”公司会不会只要和自己的商业利益稍有冲突的应用通通不允许上架? 一个“开放的”公司会不会连“视频硬件加速”这种基本接口都一直不肯开放给第三方? 这样一家公司举着“开放的”大旗号称“拥抱标准”,只让我想起了一个历史人物-吴三桂。
最后套用某人的一句话:“什么是开放?开放有时候意味着把选择的权力交给用户(开发者)”。用户如果不喜欢或不需要Flash,他们可以选择放弃。但苹果没有权力替用户做出这样的选择,就像你们替iPhone用户选择了不需要更换电池也不需要外接存储卡一样。
6. HTML5会取代Flash?
这是乔老爷首先抛出来的论调,随后引起部分人的跟风炒作。但我相信乔老爷并不真的在乎HTML5是不是开放标准,他在乎的只是Flash Player的发展是他所不能控制的,而HTML5可以。从一个技术人员的角度讲,我认为HTML5是个好东西,我也很喜欢JavaScript这门语言(虽然我并不精通它)。但是我希望那些提乔老爷摇旗呐喊的开发者,可否静下心来的思考一下,HTML5是否真的足以取代Flash?而这对开发者群体有什么实质性的好处?是否因为你使用HTML5而不是Flash你的老板就会给你发更多的奖金,或者你地位就得以提高?No! 在我看来,HTML5仍然有着很多关键性的硬伤以至于它在可见得未来内都不可能对Flash造成实质性威胁:
6.1 平台分裂 & 标准之战
这是一个百家争鸣的时代,平台差异性已经从简单的操作系统差别上升到了三维的“设备差异+操作系统差异+浏览器差异”,不同平台和不同浏览器之间的巨大差异性在大大提升开发成本的同时对开发者本身的能力也提出了挑战。移动互联网的兴起让这个问题变得更加突显,未来对于那些所谓的“标准”开发者来说,他们将要面对的是“手机+Tablet+PC…” × “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之争的一些看法,如有不当请指正,也欢迎讨论,但请“言之有物”。
</img>
</img>
非常抱歉借用了乔帮主的标题,不过我真的认为它对本文来说再合适不过了。一直以来我对于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是为PC使用鼠标控制设计的,为了适应触摸屏需要“重新编写”
一个牵强至极的理由!我不知道乔老爷是否真的曾经在手机上使用过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是开放标准之名来绑架开发者的想法的确很巧妙,但经不起推敲: 一个“开放的”公司会不会只允许开发者用指定语言编写程序? 一个“开放的”公司会不会只要和自己的商业利益稍有冲突的应用通通不允许上架? 一个“开放的”公司会不会连“视频硬件加速”这种基本接口都一直不肯开放给第三方? 这样一家公司举着“开放的”大旗号称“拥抱标准”,只让我想起了一个历史人物-吴三桂。

6. HTML5会取代Flash?
这是乔老爷首先抛出来的论调,随后引起部分人的跟风炒作。但我相信乔老爷并不真的在乎HTML5是不是开放标准,他在乎的只是Flash Player的发展是他所不能控制的,而HTML5可以。从一个技术人员的角度讲,我认为HTML5是个好东西,我也很喜欢JavaScript这门语言(虽然我并不精通它)。但是我希望那些提乔老爷摇旗呐喊的开发者,可否静下心来的思考一下,HTML5是否真的足以取代Flash?而这对开发者群体有什么实质性的好处?是否因为你使用HTML5而不是Flash你的老板就会给你发更多的奖金,或者你地位就得以提高?No! 在我看来,HTML5仍然有着很多关键性的硬伤以至于它在可见得未来内都不可能对Flash造成实质性威胁:
6.1 平台分裂 & 标准之战
这是一个百家争鸣的时代,平台差异性已经从简单的操作系统差别上升到了三维的“设备差异+操作系统差异+浏览器差异”,不同平台和不同浏览器之间的巨大差异性在大大提升开发成本的同时对开发者本身的能力也提出了挑战。移动互联网的兴起让这个问题变得更加突显,未来对于那些所谓的“标准”开发者来说,他们将要面对的是“手机+Tablet+PC…” × “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之争的一些看法,如有不当请指正,也欢迎讨论,但请“言之有物”。
