网站搜索

这就是史蒂夫乔布斯如何杀死 Adobe Flash


Adobe Flash 在整个 2000 年代为网络上的大多数互动内容提供支持,但 iPhone 的推出——以及苹果公司首席执行官史蒂夫乔布斯的指示——改变了一切。事情是这样发生的。

闪存的兴起

最终成为 Adobe Flash 的是 FutureWave Software 开发的名为“SmartSketch”的应用程序。 SmartSketch 只是一个用于笔式计算机的矢量绘图应用程序,于 1993 年发布。最终添加了逐帧动画功能,该应用程序成为了适用于 Mac 和 PC 的 FutureSplash Animator。

Macromedia 于 1996 年收购了 FutureSplash,并将该应用程序拆分为两个产品。 Macromedia Flash 将用于创建动画,而 Flash Player 将允许任何人在不支付任何软件费用的情况下播放这些动画。重要的是,Macromedia 创建了 Flash Player 的网络浏览器插件版本,允许动画在网页内运行。

随着 Flash 5.0 的发布,Flash 统治世界的最后一块拼图在 2000 年到来。该更新添加了第一个版本的 ActionScript 编程语言,它允许 Flash 内容进行交互。现在 Flash 不仅仅可以用于简单的动画——它可以处理从可点击菜单到视频播放器和复杂的 Web 应用程序的所有内容。

据 Macromedia 称,2005 年超过 98% 的联网计算机都安装了 Flash Player,并且 100 多家制造商正在构建内置 Flash 的产品。同年,Adobe 以 34 亿美元的股票收购了 Macromedia,Flash 正式成为 Adobe 的产品。

iPhone

Apple 于 2007 年推出了第一款 iPhone,尽管 iPhone 将继续成为最重要的科技产品之一,但最初的型号相当有限。当时还没有 App Store(那得等到 2008 年的 iOS 2.0),它只能在 AT&T 上使用,缺少 3G 支持,无法与 Microsoft Exchange 帐户同步,等等。

iPhone 确实拥有的是一个成熟的 Safari 网络浏览器,完全支持当时的新网络技术,如 HTML5 视频。然而,与网络插件不兼容,即使是当时其他手机和 PDA 上的插件——包括 Adobe Flash。 Apple 首席执行官史蒂夫·乔布斯 (Steve Jobs) 于 2008 年 3 月表示,Flash 的移动版本“无法与网络一起使用”,并表示 iPhone 需要一个“中间地带”来添加 Flash 支持。

Apple 和史蒂夫·乔布斯没有告诉任何人,至少在当时,Apple 和 Adobe 已经尝试将 Flash 引入 iPhone。时任 Apple 工程主管的 Scott Forstall 在去年 Epic Games 诉 Apple 诉讼的证词中透露,早期的努力并不乐观。 “我们试图让 Flash 发挥作用。我们帮助了 Adobe。我们当然很感兴趣,”Forstall 说,“当我们让它在 iOS 上运行时,性能非常糟糕且令人尴尬,而且它永远无法达到消费者增值的水平。”

Apple 于 2008 年 3 月发布了第一个 iPhone SDK,同时推出了 App Store,允许开发人员首次(正式)创建和分发原生 iPhone 应用程序。 Adobe 在当年晚些时候表示,它正在使用 SDK 开发适用于 iPhone 的 Flash Player 版本,但当时不清楚苹果是否会允许它进入 App Store。即使从 App Store 的第一天开始,Apple 就阻止开发人员创建可以下载和运行其他可执行代码的应用程序——这就是为什么第三方网络浏览器引擎从未在 iPhone 和 iPad 上可用的原因。这自动排除了典型的 Flash Player,但还有其他选择。

争斗

Adobe 无法在没有 Apple 的情况下为 iPhone 上的 Safari 制作 Flash 插件,但它可以朝不同的方向发展:允许开发人员使用内置运行时包装他们的 Flash 内容,并将其提交到 App Store。到 2008 年 6 月,Adobe 已经在 Apple 的 iPhone 模拟器中运行了 Flash。在次年的 Adobe MAX 活动中,该公司展示了一段视频,其中 Adobe 首席技术官 Kevin Lynch(具有讽刺意味的是,他现在在 Apple 工作)和创意解决方案高级副总裁 Johnny Loiacono 模仿了流言终结者

这段视频让两位高管都扮演了“破解”“来自库比蒂诺的史蒂夫”(史蒂夫乔布斯)提出的神话的角色,乔布斯寄来一封信说“不可能在 iPhone 上运行 Flash”。插科打打之后,他们打电话给 Adobe 的某个人,后者说他们刚刚在 iPhone 上运行了 Flash。

Flash 开发人员不得不等到 2010 年 Flash CS5 发布才能创建基于 Flash 的 iPhone 应用程序,但就在它发布之前,Apple 阻止应用程序开发人员使用它或其他第三方框架。 2010 年 4 月的 iOS 4 SDK(当时称为 iPhone OS 4)表示 iPhone 应用程序只能用 Objective-C、C、C++ 或 JavaScript 编写——禁止任何其他编程环境或兼容层。

Adobe 向美国联邦贸易委员会投诉苹果的新规定,该委员会开始调查苹果可能违反反垄断法的行为。到 2010 年 8 月,联邦贸易委员会有近 200 页与投诉相关的记录,并拒绝了连线的 FOIA 请求,因为“披露该材料可以合理地预期会干扰委员会法律的实施执法活动。”换句话说,联邦贸易委员会正准备采取法律行动。

关于闪存的思考

Adobe 和苹果之间的斗争在 2010 年 4 月 29 日达到高潮,当时苹果首席执行官史蒂夫乔布斯发表了一封题为“对 Flash 的思考”的公开信。乔布斯在信中说,“Adobe 将我们的决定描述为主要是业务驱动的——他们说我们想保护我们的 App Store——但实际上它是基于技术问题。 Adobe 声称我们是一个封闭的系统,而 Flash 是开放的,但实际上恰恰相反。”

这封信接着解释了苹果(和乔布斯)在 iPhone 上屏蔽 Flash 的理由。大多数观点都集中在 Flash 是一个“封闭系统”,电池寿命、触摸屏支持、性能、视频硬件解码和安全性都很差。乔布斯还强调,Flash 的许多功能都可以通过 HTML5 视频和 iPhone 支持的其他功能来处理,如果 Flash 开发人员必须更新他们的代码以支持触摸屏和 iPhone,他们应该一路走下去,重写他们的应用程序本机或网络代码。

乔布斯的信在某些方面肯定是虚伪的——他关于 Flash 是一个封闭系统的一些观点也可以适用于苹果的 App Store——但他的大部分观点仍然有效。他最后说,“也许 Adobe 应该更多地关注为未来创造出色的 HTML5 工具,而不是批评苹果将过去抛在脑后。”

不久之后,Adobe 首席执行官 Shantanu Narayen 接受了采访。他称这封信是一次“非同寻常的攻击”,并否认了关于电池过度消耗的说法。 “我们对世界有不同的看法,”他说,“我们的世界观是多平台的。”

为时已晚的胜利

也许是由于 FTC 可能采取的法律行动,Apple 在 2010 年 9 月再次更改了其开发者协议。该公司现在允许应用程序开发者使用他们想要的任何工具,包括 Adobe Flash,“只要生成的应用程序不下载任何代码。 ”不久之后,Adobe 恢复了其 Flash-to-iPhone 编译器的开发。

不幸的是,对于 Adobe 来说,世界已经开始从 Flash 转移。更多网站正在更新以支持 HTML5 视频,或为 iPhone、iPad、Android 和其他移动平台提供本机应用程序。 Adobe 在 2011 年停止了所有移动设备的 Flash Player,留下打包工具(如 Apple 现在允许的工具)作为在 Android 和其他移动平台上运行 Flash 软件的唯一方式。

Flash 在桌面平台上也逐渐失宠,这主要是由于其长期存在的安全问题。例如,几乎每次发现安全漏洞时,Apple 都会使用其恶意软件保护系统来阻止 Flash Player 在 Mac 上运行。

Adobe Flash 于 2020 年 12 月 31 日在所有平台上正式停用。当时大多数网络浏览器已经放弃了对 Flash 插件的支持,并且微软推出了 Windows 更新,删除了已安装的 Flash。

Flash 对计算机产生了不可思议的影响,它为现代网络应用程序铺平了道路。然而,到 2010 年,绝对是继续前进的时候了——史蒂夫·乔布斯可以说给了这个行业一点推动力。

这个故事最初是 Tech Tales 的一集,这是一个涵盖技术历史的播客。