zoukankan      html  css  js  c++  java
  • 乔布斯:关于 Flash 的思考

    这是乔布斯 2010 年 4 月 29 日发表在苹果网站上的文章。跟三年前炮轰 DRM 的「关于音乐的思考」一样,这也是一篇檄文,声讨对象是与苹果多年来亦敌亦友的 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 视频可以连续播长达十小时,但通过软件解码的视频播不到五小时,电池就会用光。

    第五,谈谈触屏。

    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 月

  • 相关阅读:
    年末反思
    Flink运行时架构
    Phoenix 启动报错:Error: ERROR 726 (43M10): Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.
    Clickhouse学习
    Flink简单认识
    IDEA无法pull代码到本地,Can't Update No tracked branch configured for branch master or the branch doesn't exist.
    第1章 计算机系统漫游
    简单的 Shell 脚本入门教程
    开源≠免费 常见开源协议介绍
    MySQL 视图
  • 原文地址:https://www.cnblogs.com/kidfruit/p/1724600.html
Copyright © 2011-2022 走看看