关于Flash登陆iPhone OS平台的问题,苹果与Adobe之间近期展开了非常激烈的争论。出人意料的是,苹果公司CEO史蒂夫乔布斯今天在苹果官方网站上发表了一篇洋洋洒洒数千字的公开信,题目就叫做“Flash之我见”(Thoughts on Flash)。
以下就是这封公开信的全文译本:
苹果与Adobe之间有着长期的关系。事实上,早在Adobe公司还在当年那间著名的车库时,我们就和Adobe创始人有过碰面。苹果是他们的第一家大客户,在我们的Laserwriter打印机(译注:苹果1985年产品)中使用了他们的Postscript语言。苹果曾经投资Adobe公司,在很多年中都拥有这家公司20%左右的股份。两家公司曾合作亲密无间,率先提出了桌面出版的概念,那时曾分享很多的美好时光。不过在那段黄金时代后,两家公司走上了不同的发展道路。苹果在鬼门关前走了一遭(译注:指上世纪90年代前半段苹果陷入崩溃边缘),Adobe则用Acrobat产品踏入了企业市场。今天,两家公司仍在一起服务那些创意客户――Adobe Creative Suite产品过半的客户都是Mac用户――但除此以外这两间公司还有一些共同的兴趣。
这里,我想要写下一些我们对于Adobe Flash产品的看法,让消费者和评论界更好的理解为什么我们不允许Flash出现在iPhone、iPod和iPad上。Adobe已经把我们的这一决定定性为商业利益驱动,他们说我们是为了保护我们的App Store。不过实际上,这是一个技术问题。Adobe声称我们是封闭系统,而Flash是开放的,但事实正好相反。下面就让我来详细解释。
首先是“开放性”的问题。
Adobe Flash是100%的私有产品。它仅在Adobe有售,Adobe也是决定Flash未来发展、定价等的唯一机构。尽管Adobe的Flash产品非常普及,但这并不意味着它是开放的,因为它完全被Adobe控制,也仅仅来自Adobe。从任何角度来看,Flash都是一套封闭系统。
苹果也有不少私有化产品。虽然iPhone、iPod和iPad的操作系统是私有的,但我们非常相信所有关于网络的标准都应当是开放的。相比Flash,苹果采用了HTML5、CSS和JavaScript――全部都是开放标准。苹果的移动设备全部搭载了高性能、低功耗版本的这些开放标准。HTML5,这一被苹果、Google和许多其他公司采用的新网络标准,让网页开发者们能够在不依赖第三方浏览器插件(如Flash)的情况下创造先进的图形、排版、动画和动态效果。HTML5是完全开放的标准,由一个标准委员会控制,而苹果也是该委员会的成员。
苹果甚至会为网络创造开放标准。比如,苹果从一个小规模的开源项目开始,创造出了WebKit,一款完全开源的HTML5渲染引擎,现在已经成为我们所有产品上Safari浏览器的核心。WebKit已被广泛应用,Google在Android系统浏览器中使用它,Palm使用它,诺基亚使用它,RIM(黑莓)也已经宣布将使用它。除微软以外几乎所有的智能手机网络浏览器都在使用WebKit。通过开放WebKit技术,苹果订立了移动网络浏览器的标准。
第二,是“完整网络”(full web)的问题。
Adobe一直在反复强调,苹果的移动产品无法访问“完整的网络”,因为网络上75%的视频都是Flash视频。而他们没有说明的是,几乎所有这些视频通过一个更先进的格式:H.264,同样可以在iPhone、iPod和iPad上看到。拥有整个网络约40%视频的YouTube在所有苹果移动产品上都有专门的应用软件,其中iPad版也许可以说提供了最佳的YouTube查找和观看体验。除此之外,来自Vimeo、Netflix、Facebook、ABC、CBS、CNN、MSNBC、Fox新闻、ESPN、NPR、时代周刊、纽约时报、华尔街日报、体育画报、人物周刊、国家地理以及其他许许多多网站的视频,iPhone、iPod和iPad用户一个都不会错过。
Adobe的另一种说法是,苹果产品无法玩Flash游戏。这句话没错。不过幸运的是,App Store中已经有超过5万款游戏和娱乐软件,其中许多都是免费的。iPhone、iPod和iPad上的游戏和娱乐软件数量比全世界其他任何平台都要多。
第三,是可靠性、安全性和性能的问题。
赛门铁克近期的报告着重提到了Flash,因为它是2009年最差安全记录的创造者之一。我们还拥有这样的第一手消息:Flash是Mac死机的头号祸根。我们曾和Adobe一道试图修补这些问题,但最近数年他们都持一种顽固的态度。我们不希望因为加入Flash而降低iPhone、iPod和iPad的可靠性和安全性。
另外,Flash在移动设备上的性能表现一贯不佳。在过去多年中,我们每隔一段时间都会请求Adobe向我们展示Flash在移动设备上实现的高性能表现,任何移动设备都可以。但至今我们都没有看到。Adobe曾公开宣称,Flash会在2009年初登陆智能手机,随后改口到2009年下半年,接下来是2010年上半年,现在他们又说是2010年下半年。我们想它最终应该能够推出,不过我们很庆幸没有死等它。天知道它到底会有怎样的表现。
第四,是电池续航时间。
为了能够在播放视频时达到高电池续航时间,移动设备必须使用硬件解码视频,因为软件解码需要耗费太多的电能。当今移动设备中使用的许多芯片都包含H.264解码器,这一行业标准被应用在所有蓝光、DVD播放器中,也被苹果、Google(YouTube)、Vimeo、Netflix以及大量其他公司采用。
尽管Flash近期加入了对H.264的支持,但几乎所有Flash网站上的视频都要求使用上一代解码器,这在当今的移动设备芯片中是不存在的,因此必须使用软件解码方式。这其中的差别是惊人的:比如iPhone播放H.264视频可以坚持10小时,而如果使用软件解码模式,电池在5小时内就会耗尽。
当网站使用H.264重新编码后,就能够在完全不使用Flash的情况下提供视频。它们能够在不加载任何插件的情况下在苹果Safari、Google Chrome这些浏览器中完美播放,在iPhone、iPod和iPad上看起来也非常棒。
第五,是触摸问题。
Flash是为PC使用鼠标控制设计的,而不是为使用手指操作的触摸屏设计的。举个例子,许多Flash网站的操作依赖“Rollovers”(滑动),当鼠标指针徘徊在一个区域一段时间后,会弹出菜单或其他元素。苹果革命性的多点触摸操作界面并不使用鼠标,因此也就没有这种滑过并停留在某块区域的概念。绝大多数Flash网站为了支持触摸设备都需要重新编写。如果开发者需要重写他们的Flash站点,为什么不使用更加先进的技术,如HTML5、CSS、JavaScript呢?
就算iPhone、iPod、iPad能够运行Flash,也无法解决大多数Flash网站需要为支持触摸设备完全重写的问题。
第六,是最重要的原因。
除开Flash是一套封闭系统,存在严重的技术缺陷,并且不支持触摸设备外,我们不允许Flash出现在iPhone、iPod、iPad上还有一个最重要的原因。我们已经讨论过使用Flash播放视频以及网站互动内容的缺点,但Adobe还希望开发者使用Flash来打造运行在我们移动设备上的原生应用程序。
对于允许第三方中间层出现在操作系统平台和开发者之间造成的软件质量低下,甚至妨碍整个平台演进的后果,我们有过痛苦的经验。如果开发者越来越依赖于第三方开发库和工具,他们将只有在该第三方决定采用系统新特性的时候,才能够充分利用系统平台改进的成果。我们不能容许由第三方来决定我们的开发者能不能,或何时能使用我们的改进成果。
如果该第三方提供的是一套跨平台开发工具,情况将更加严重。该第三方可能在新特性没有在所有支持平台上实现前,拒绝采用这一改进成果。如此一来,开发者将只能接触到各系统间能够共通的一组最低标准特性。和上面同样的,我们无法接受这样的情况:开发者被阻挡在使用我们创新和改革成果的门外,只因为我们竞争对手的平台上不支持这些新特性。
Flash是一套跨平台开发工具。Adobe的目标不是帮助开发者编写最棒的iPhone、iPod、iPad应用软件。而且Adobe采纳苹果平台改进成果的速度异常的缓慢。再举个例子,Mac OS X已经发布近10年了,但Adobe在两周前发布的Creatve Suite 5中才完全采用了Mac OS X标准编写(Cocoa)。Adobe是最后一家完整采纳Mac OS X标准的大型第三方软件开发商。
我们的动机非常简单:我们希望为我们的开发者提供最先进、最具创新性的平台,我们希望他们能够直接站在这一平台的肩膀上,开发全世界见所未见的最棒应用程序。我们希望不断的改进这一平台,让开发者能够创造更加惊人、强悍、有趣、实用的应用程序。这将有益于所有人:我们能够因最棒的软件销售更多设备,开发者将能够得到更多更广的受众和用户群,用户也将因拥有最棒和选择面最广的软件平台而不断得到愉悦。
结论
Flash是在PC时代,为PC和鼠标创造出来的。Flash是Adobe公司的一项成功业务,我们可以理解他们为什么要把它推向PC以外的市场。但移动时代的关键是低功耗、触摸操作和开放网络标准,这些都是Flash的痛脚。
媒体行业如雪崩般的将他们的内容推向苹果移动设备的事实显示,Flash已经不再是观看视频以及其他各种网络内容的必须途径。而苹果App Store中的20万款软件也证明,Flash已经不再是成千上万开发者创造包括游戏在内丰富图形应用的必需品。
如HTML5这样在移动时代中创立的新开放标准,将会在移动设备上获得胜利,PC上也是一样。也许Adobe公司未来应当更加关注于开发出色的HTML5工具,少一些对苹果甩开过去举动的评头论足吧。
史蒂夫乔布斯
2010年4月