Sunday, December 22, 2024

乔布斯:关于 Flash 的思考

这是乔布斯 2010 年 4 月 29 日发表在苹果网站上的文章。这是一篇檄文,声讨对象是与苹果多年来亦敌亦友的 Adobe 门下的 Flash 技术。近几个月来,业界就 Flash vs. HTML5 的问题讨论得热火朝天,本文并未带来新的视角与观点,但乔布斯的身份无疑令它具备了别家不可企及的重要性。—— 编者

苹果与 Adobe 的关系由来已久。Adobe 的创始人还在那如今已成传说的车库中工作时,我们就已经认识了。苹果是他们的第一个大客户,将他们的 Postscript 语言改为我们当时新推出的 Laserwriter 打印机所用。在很多年里,苹果都是 Adobe 的股东之一,拥有其 20% 的股权。两家公司通力合作,开创了桌面电脑出版业,其中有不少快乐的时光,但那段黄金时代一过,我们便分道扬镳了。苹果经历了濒死的过程,Adobe 凭其 Acrobat 产品进入了企业市场。今天,两家公司仍然同心协力为创意产业的客户服务——Adobe 的 Creative Suite 软件的顾客里,有大约一半是苹果电脑用家。但除此之外,我们几乎没有别的共同利益了。

我想在这里记下自己关于 Adobe 的 Flash 的一些想法,希望我们的顾客以及批评家们能够更好地理解为什么我们不允许 Flash 在 iPhone, iPod 和 iPad 上运行。在 Adobe 口中,我们这一决定背后主要的驱动力是商业上的考量。他们说,我们是为了保护自己的 App Store。但事实上,这里的问题主要是技术问题。Adobe 说,苹果是一个封闭系统,Flash 则是开放的,但他们恰恰说反了。我来解释一下吧。

首先,谈谈「开放」。

Adobe 的 Flash 是 100% 的私有软件。你只能从 Adobe 处获取 Flash,并且 Flash 在未来的改进、定价等等,完全受到 Adobe 一家的左右。尽管 Flash 和相关产品的应用十分广泛,但这并不等于说它们是开放的,因为它们完全处于 Adobe 的控制之下,并且你也只能从 Adobe 那里获得它们。无论怎么定义,Flash 都是一个封闭系统。

苹果也有很多专有性的产品。虽然 iPhone、iPod 和 iPad 的操作系统是私有的,但我们完全相信与万维网相关的所有标准都应该开放。我们没有用 Flash,而是选择了 HTML5, CSS 和 JavaScript,它们全都是开放标准。苹果的所有移动设备都与生俱来地对这些开放标准有着良好的支持:运行速度快,用电量低。HTML5 是万维网上的新标准,为苹果、谷歌以及很多其他公司所采用。网页开发者利用 HTML5 就能做出高级的图像、字体、动画以及过渡效果,而不必倚赖第三方插件(例如 Flash)。HTML5 完全开放,并受一个标准委员会控制。苹果是该委员会的成员之一。

苹果甚至还为万维网创造了一些开放标准。例如,我们从一个小型开源项目出发,做出了 WebKit。WebKit 是一个完全开源的 HTML5 页面转译引擎,我们所有产品中的 Safari 浏览器的内核用的都是它。WebKit 也广泛被别家公司所采用。谷歌在其 Android 系统的浏览器里用它,Palm 用它,诺基亚用它,RIM(黑莓)最近也宣布将会改用它。除了微软以外,几乎所有智能手机里的浏览器用的都是 WebKit。苹果通过开放自己的 WebKit 技术,为移动网页浏览器订下了标准。

第二,谈谈「完整的互联网」。

Adobe 反复说苹果的移动设备无法访问「完整的互联网」,因为网上 75% 的视频用的是 Flash。他们没有提及的是,几乎所有这些视频,同时也以一种更加摩登的格式——H.264——存在于网上,用 iPhone、iPod 和 iPad 都能看。YouTube 占有线上视频大约 40% 的份额,它在苹果所有的移动设备中都以一个软件的形式存在,运行得极为顺畅。其中,iPad 上的 YouTube 所提供的搜寻及观看视频的体验或许可以算作各家之冠。除此之外,还有 Vimeo、Netflix、Facebook、ABC、CBS、CNN、MSNBC、Fox News、ESPN、NPR、《时代》、《纽约时报》、《华尔街日报》、《体育画报》、《人物》、《国家地理》(美国),以及很多很多。没有多少线上视频 是 iPhone, iPod 和 iPad 的用户看不到的。

Adobe 还宣称说,苹果的设备玩不了 Flash 游戏。这不假。所幸,在 App Store 里有五万多款游戏和娱乐软件,其中很多都是免费的。iPhone、iPod 和 iPad 上的游戏和娱乐软件之数量也居于世界上众多平台之冠。

第三,谈谈可靠性、安全性和性能。

赛门铁克最近指出,Flash 是 2009 年最不安全的系统之一。我们有第一手资料表明,苹果电脑死机的罪魁祸首就是 Flash。我们一直在和 Adobe 合作,试图解决这些问题,但几年过去了,效果不彰。如果说,为 iPhone、iPod 和 iPad 加了 Flash 之后,会导致它们的可靠性与安全性下降,这是我们不愿看到的。

此外,Flash 在移动设备上的性能也有问题。过去几年里,我们经常请 Adobe 用移动设备——任何移动设备——示范 Flash 的性能,希望看到好的表现,但至今未能如愿。Adobe 曾公开说 Flash 会于 2009 年初出现在智能手机上,后来又推迟到 2009 年下半年,然后又变成了 2010 年上半年,现在又说是 2010 年下半年了。我们相信它迟早会出现,但我们也庆幸自己没有一路等待。谁知道它到时性能会怎么样呢?

第四,谈谈电池续航力。

为了在播放视频时保持良好的电池续航力,移动设备必须用硬件来对视频进行解码;软件解码太费电。如今的许多移动设备中的芯片组里都包含名为 H.264 的解码器。H.264 是业界标准,每一台蓝光 DVD 播放器都用它。苹果、谷歌(YouTube)、Vimeo、Netflix 和许多其他公司也都有用。

虽然 Flash 最近增加了对 H.264 的支持,但目前几乎所有 Flash 网站都需要用旧一代的解码器:移动设备里的芯片不支持它们,因此只能通过软件解码。区别是巨大的。例如,在 iPhone 上,H.264 视频可以连续播长达十小时,但通过软件解码的视频播不到五小时,电池就会用光。

如果各网站把视频重新用 H.264 编码,那么用户完全不需要 Flash 也能看到。这些视频在苹果的 Safari 浏览器和谷歌的 Chrome 浏览器里都不需要任何插件就能流畅播放,在 iPhone, iPod 和 iPad 上也会赏心悦目。

第五,谈谈触屏。

Flash 是为个人电脑和鼠标设计的,并不适合触屏和手指。举例来说,许多 Flash 网站都用到了「光标悬停」:当用户把光标移动到某个点时,弹出菜单或其他元素。苹果革命性的多点触控介面不用鼠标,也没有光标悬停的概念。如果要支持触屏 设备,大部分 Flash 网站都要重写。而如果开发者要重写 Flash 网站,为什么不用较为摩登的技术,例如 HTML5、CSS 和 JavaScript 呢?

就算 iPhone、iPod 和 iPad 支持 Flash,还是不能解决大多数 Flash 网站需要重写,以便支持触屏设备的问题。

第六个是最重要的问题。

Flash 封闭、私有、有重大技术问题、不支持触屏技术。除此之外,还有一个更加重要的理由,让我们决定不让它在 iPhone、iPod 和 iPad 上跑。我们刚才谈过了用 Flash 播放视频与展示网站上的互动内容的弊病,但 Adobe 还希望开发者用 Flash 来编写跑在我们的移动设备上的软件。

过去的痛苦经历让我们了解到,在平台和开发者之间加多一层第三方软件层,最终会导致大量不够水准的软件,并对整个平台的进步与发展起到负面作用。如 果开发者开始依赖于第三方的库与工具,那么他们将受制于这个第三方:只有当第三方采纳了整个平台引进的新特性之后,开发者才能够利用它们。我们自己的平台 的改善何时能够传递到开发者手中,不能由一个第三方来决定。

当这个第三方提供的是一个跨平台开发工具时,情况会变得更糟。某一个平台上的功能改善,第三方未必会立即采纳,而是可能会等到这些改善在自己支持的 所有平台上出现时,才开始支持它们。因此,开发者就只有最基本的功能可用。同样,苹果无法接受这样的结果:开发者无缘接触我们的创新与功能改进,而原因却 是这些创新与改进在我们的竞争对手的平台上还不存在。

Flash 是一个跨平台的开发工具。Adobe 的目标不是帮助开发者写出最好的 iPhone、iPod 和 iPad 软件,他们的目标是帮助开发者写跨平台软件。在过去,Adobe 在采纳苹果的平台的改进上可谓迟缓之至。例如,Mac OS X 推出已有十年之久,但 Adobe 直到两周前发布 CS5 时才将其完全 Mac OS X 化(Cocoa 化)。在所有的重要第三方开发者里,Adobe 是最后一个完整支持 Mac OS X 的。

我们的动机很简单:提供最先进、最创新的平台给开发者,希望他们能够直接站在这一平台的肩膀上,创造出前无古人的优质软件。我们希望持续改进这一平 台,以便开发者们可以写出更棒、更强大、更好玩、更有用的应用程序。人人都是赢家——苹果会因为有了最好的软件而卖出更多设备,开发者会有越来越多的用 户,而面对最好的、选择最广泛的软件平台,用户也会感到开心愉悦。

结论。

Flash 是个人电脑时代的产物,它是为个人电脑与鼠标发明的。Flash 对于 Adobe 来说是一盘成功的生意,我们也明白他们为什么希望将它延伸到个人电脑以外的领域。但在移动时代,重要的是低能耗、触控介面和开放的万维网标准。所有这些都 并非 Flash 的强项。

各家媒体争先恐后地为苹果的移动设备提供内容,这说明 Flash 已经不是看视频或消费任何类型的网页内容所不可或缺的了。苹果的 App Store 里的二十多万个软件证明,对于数以万计的开发者来说,编写视觉效果丰富的程序——包括游戏——并不一定要用 Flash。

HTML5 等移动时代的新标准会在移动设备上(以及个人电脑上)取得胜利。或许,与其忙于批评苹果义无反顾地大步向前,Adobe 更应该专注于为未来打造优质的 HTML5 工具。

史蒂夫·乔布斯
2010 年 4 月

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.