[本文由特邀作者周翔 (微博) 撰写。 周翔从华东师范大学毕业后就在微软工作,为微软合作伙伴提供技术咨询顾问服务多年。后因业余研发的智能精准广告系统,加入盛大创新院担任项目经理,高级研 究员。最后一份工作在凯捷咨询集团担任部门经理,高级架构师。之后他创办上海信行软件,从事移动电子商务领域创新,其产品叫 Kancart]

Adobe 宣布将停止移动浏览器上的 Flash 播放器开发。一下子又引发了一些人的大肆热议。Flash 要死了!HTML5 的技术太牛太先进了!HTML5 已大获成功!Flash 技术已落后根本无力竞争!这些言论令我十分的惊讶。随着我国经济的飞速发展,出于对慢一步就不能成为先富起来的人的忧虑,我国人民群众也变得越来越浮躁。为了表达对 Macromedia, Adobe 这两家非常出色的公司敬意,以及多年以来长期使用他们的软件但没有及时付费的歉意,我想为大家分析澄清一下 Flash,Adobe Air, HTML,Objective-C (iOS Native APP), JAVA(Android Native APP),还有一些傻瓜式 APP 开发工具,如 Appcelerator 这些移动开发技术的特点,什么场景适合什么技术。

Adobe 停止移动浏览器上的 Flash 播放器开发。首先绝不是技术上的落后。Adobe 是一家令我很敬佩的公司,他们的产品做的非常专业,潜心打磨自己的产品,不仅每一款都可以用来创作艺术大作,而且产品线覆盖了大部分多媒体互动制作的领域。他的文档媒介 PDF 也占据了电子文档领域相当大的份额。 Adobe 有点像一家隐型的另类的 Apple,只是他的受众太小,所以不是很被关注。停止移动浏览器上的 Flash 播放器开发,Adobe 负责 Flash 社区的 Mike Chambers 写了一篇挺长的解释来说明原因。国内版本有些是根据自己的主观想法,截取标题的几句话直接翻译,另一些是通篇英译中。我是 Flash 的开发者,也是 Mobile APP 的开发者,结合自己对技术的理解,看着 Mike Chambers 文章,可以感觉到他的心里的感受,他很郁闷也很无奈。

开门见山的说:

最大的第一个原因就是占有大量移动设备份额的 iOS 不支持 Flash 播放器。无论 Flash 怎么做,iOS 都不会把 Flash 播放器放进移动版 safari。所以虽然 Html5 目前还没有完全成熟,但是长远来说你不可能用 Flash 开发移动应用,在 iOS 上再用 Html5 再开发一边,iOS 对 Html5 也很积极的支持,你当然是用 Html5 开发应用,然后在所有平台上都可以用。所以 Flash 存在的必要性大打折扣。为什么 iOS 不让 Flash 播放器进来呢?有人说是 Flash 技术有问题,造成 iPhone 耗电问题,这个只是 Apple 的借口,你玩个游戏耗电量比放个 Flash 大多了,怎么不在审核游戏的时候加个耗电量限制。所以 Mike Chambers 很无奈的说了,无论我们做什么 iOS 都是不可能支持 Flash 的。真正的原因是

你 Flash 能在我 iOS 上跑第三方移动应用了,你当我 APP Store 是假的?我苦心经营的 APP Store 不都被你毁了?

第二个原因。各个移动设备对 Html5 的普遍强力支持。Html5 在移动浏览器上,就像 Flash 在桌面浏览器上那么普遍。虽然 Html5 目前在性能和实现上不太完美,但是各个厂商对他的热情很高涨,相信很快就能赶上来。这点不是瞎说的,我开发过实际 Html5 应用,确实在大面积动画时帧数太低,几乎没有办法实际使用。之后会给大家看实际测试数据。最后 Mike Chambers 很悲壮的说,我们曾经也想让 Flash 得到移动浏览器的普遍支持,但是,最后这没有发生。

第三个原因。用户在移动设备上使用应用的途径和在桌面上大不相同。在移动设备上,因为移动操作系统与应用商店,APP Store, Android Market…的紧密集成。移动设备的网络不是大多数时间一定可用。移动设备的屏幕也比较小。这些原因使得用户习惯,喜欢直接从应用商店中寻找安装应用,而不太会通过浏览器寻找和使用应用。而桌面上的用户会同时使用下载安装的应用和浏览器中的应用。

接着 Mike Chambers 吐苦水,开发个移动浏览器的 Flash 播放器太累了,要开发测试不同操作系统,不同移动设备,不同图形芯片。这资源投入实在太大,Adobe 也吃不消了。所以 Adobe 也决定投入 Html5 的怀抱了。

实在是一家斗不过不过这一群移动设备,操作系统,浏览器厂商的合谋,只好眼睛一闭,身子一靠,从了。这也是必然的,他们为什么要支持你这个封闭的标准,有开放标准肯定支持开放标准。

Flash 的技术本身其实做得很出色,目前很多个分支版本在各自领域都有一定的价值:

  • Adobe Air 开发跨平台 APP 也很不错。Adobe Air 因为最终发布 iOS 应用时是发布的程序包,仍通过 APP Store 最终发布流通,所以 iOS 没有禁止他。
  • 桌面上的 Flash 目前继续在进一步提供更高级的功能。
  • Adobe Flex 在企业级的应用我很看好。和 J2EE 是绝配。

所以不要看不起人家 Flash。谁要看不起人家,他能会用几个 Adobe 的产品就已经不错了。更不要说能做出 Adobe 的产品。

最后 Mike Chambers 又很无奈了,当初你浏览器做不了的动画,矢量,音乐,视频,我 Flash 做了。你看到 Flash 这些功能被用户广泛的接受和喜爱,你就不断地加到自己浏览器中。每次都是 Flash 先做什么功能,你浏览器一点点加进自己里面。我知道过去是这样,今后还是这样,现在 Html5,css3 就是想把 Flash 的所有功能做进浏览器里。我争不过你们,我不玩了。毕竟用户装的是浏览器来上网,不是装的 Flash 来上网,Flash 也没办法争过浏览器。

(后一篇将从技术上详细对比 Flash 和 HTML5…)