01|Flash 当年到底像不像“真跨端”?
今天回头看 Flash,很多人第一反应往往都是:
- 老插件
- 网页小游戏
- 烦人的广告
- 最后被
HTML5淘汰
这当然没错。
可如果你只用这个视角看它,就会把 Flash 在跨端史上的真正位置看小。
因为在它最强势的时候,Flash 代表的根本不是“网页上一种富媒体技术”而已。
它更像一种非常大胆、也非常危险的想法:
如果浏览器和平台本身都太碎,那我干脆自己带一套运行时,把这些碎片全吞掉。
这一步为什么重要?
因为它和后来的很多跨端路线都不一样。
后来的 PhoneGap、Cordova、React Native、Electron,
很多都还会承认:
- 浏览器是宿主
- 操作系统是宿主
- 平台商店是宿主
可 Flash 在最强的时候,
它给人的感觉更像是:
我不只是借宿主干活,我甚至想把“应用怎么跑”这套解释权,部分从宿主手里拿出来。
这就是为什么它后来一定会撞墙。
因为它不只是技术路线。
它还是一个中间层夺权方案。
02|开发者当年到底买了 Flash 什么梦?
今天很多人谈跨端, 会先想到:
- 代码复用
- 组件复用
- 业务逻辑复用
可 Flash 那个时代给开发者的诱惑更原始,也更直接。
它给的是一种非常少见的体验:
你不需要先分别学习每个平台的原生控件、原生语言、原生发布流程,就能把同一种交互内容带到不同机器上。
这件事在 PC 时代是非常有吸引力的。
因为那时浏览器现实本来就乱:
- 厂商各有实现
- 富媒体体验很碎
- 一致交互很难保证
而 Flash 给出的承诺特别简单粗暴:
- 你用我的工具做
- 你跑我的运行时
- 你尽量别直接碰宿主差异
这套逻辑后来会在很多跨端方案里反复出现。
只是名字不同而已。
所以如果只把 Flash 看成“老插件”,你会错过它最重要的历史意义:
它几乎是第一批大规模让开发者相信:第三方中间运行时也许真能把多端统一掉的技术路线。
03|Apple 真在反 Flash,还是在反它站错了位置?
2010 年 Steve Jobs 那封著名的 Thoughts on Flash,
后来经常被人简单概括成:
Apple 认为 Flash:
- 不安全
- 不稳定
- 很耗电
- 不适合触摸
这些当然都在信里。
可如果你只看到这些, 还是会把事情理解浅。
因为那封信里真正最狠的一刀, 其实是这句意思:
我们不想让第三方软件层挡在平台和开发者之间。
这句话背后的政治意味非常重。
它相当于在说:
- 运行时应该由平台定义
- 新能力应该直接向平台开发者开放
- 平台升级节奏不该被第三方跨平台层卡住
也就是说,
Apple 对 Flash 的反对当然有技术理由。
但它同样也是一次非常明确的主权声明:
移动平台的解释权,不能交给一个站在宿主之上的第三方运行时。
所以 Flash 被打击得这么狠,
并不只是因为它“表现不好”。
还因为它正好站在平台最不愿让渡的那个位置上。
04|Adobe 死咬“选择权”不放
Apple 把 Flash 定义成:
- 性能问题
- 电池问题
- 安全问题
- 触控时代的旧技术
而 Adobe 阵营的反击,重点却很有意思。
无论是 Shantanu Narayen 的公开表态,
还是 Kevin Lynch 的“继续前进”那套说法,
底下真正抓住的都不是:
“Flash 在每个技术点上都比你强。”
而是:
开发者应该拥有跨平台发布内容和应用的自由。
这很关键。
因为到了这里, 你会突然看清楚双方真正吵的其实不是同一件事。
Apple 在说:
平台质量与安全边界。
Adobe 在说:
开发者不该被平台锁死。
也就是说,
Flash vs iPhone 这场争论从一开始就不是纯技术辩论。
它是一场很早的、典型的:
平台控制权 vs 跨平台中间层自由
之争。
而这种结构, 后面你会在:
PWAReact Native- 小程序
- 商店支付争议
里一遍遍看见。
05|一到移动端,Flash 的账突然全爆了
在 PC 时代, 很多问题是可以被硬件余量和用户耐心掩盖的。
可一旦进入移动端, 事情就变了。
因为移动设备会把抽象层的代价放大得特别明显:
- 电池更敏感
- CPU 预算更紧
- 触摸交互更直接
- 崩溃更难被容忍
这时候, 一个额外的中间运行时如果拖累体验, 就不再只是“技术债”。
它会立刻变成:
用户体感里的失败。
这也是为什么 Apple 后来的叙事越来越占上风。
不是因为平台永远正确。
而是因为移动端确实让很多“抽象层税”突然变得特别显眼。
后来 2021 年 Epic v. Apple 相关证词里,
Scott Forstall 回头提到 Apple 其实试过帮 Adobe 让 Flash 跑在 iOS 上,
但结果是:
abysmal and embarrassing
这句话特别有历史意味。
因为它说明 Apple 并不是完全没碰过这条路, 而是最后认定:
这条中间层路线在移动端的体验代价太高,高到它已经没有资格继续站在平台和开发者之间。
06|Adobe 转身去做 AIR,说明跨端到底死没死?
很多人后来会把 2011 年 Adobe 停止继续为新移动配置开发 Flash 浏览器插件这件事,
理解成:
Flash 死了。
可如果从跨端史角度看, 这件事更准确的理解其实是:
浏览器内的第三方统一运行时路线,先输了。
但“跨端”这个冲动本身并没有输。
它只是立刻换了宿主。
Adobe 后来把重点转向:
HTML5AIR- 应用商店里的原生打包
这一步非常关键。
因为它几乎提前预演了后面整条跨端史的一个固定动作:
当某种“统一一切”的抽象层太难继续顶住现实时, 它不会真的消失。
它往往会先收缩承诺, 改成一种更务实、也更依赖宿主的姿态继续活。
所以 Flash 这条线真正留下来的,
不是一个淘汰故事而已。
而是一条非常经典的历史模板:
- 第三方中间层先承诺统一
- 平台用性能、安全、入口解释权反击
- 中间层要么退场,要么收缩到更服从宿主的位置
后面很多跨端路线, 都会重复这个节奏。
07|Flash 留给后人的真正规矩是什么?
回头看 Flash 这段历史,
最不该记住的,
不是某个版本号、某次发布失败、某台手机跑不动。
更该记住的是这句:
Apple 杀死的表面是 Flash,底下更深一层,杀死的是“第三方跨平台运行时可以长期站在平台之上”这个想法。
从这以后,跨端世界其实就被写下了一条很难推翻的规矩:
你可以来帮平台省事、帮开发者统一,但你不能真的站到平台头上。
Flash 的失败当然有工程和体验原因。
可真正让它没有后路的, 是它把自己摆到了一个平台迟早要动手的位置。
所以 Flash 最值得记住的,
不是它被淘汰了。
而是它最早把跨端的野心推到“第三方运行时想和平台争解释权”这个危险高度,也因此最早撞上了平台收权的硬边界。
编者注(事实核对):文中关于 Apple 系统性反对 Flash 的论述,主要依据 Steve Jobs 2010 年公开信 Thoughts on Flash。关于 Adobe 阵营对“技术理由其实掩盖平台控制权”的反击,主要依据 Shantanu Narayen 与 Kevin Lynch 当时的公开回应及媒体转引。关于 Adobe 在 2011 年停止继续为新移动浏览器配置开发 Flash Player 浏览器插件、转向 HTML5 与 AIR 的判断,主要依据 Adobe 官方声明的多家转引报道。关于 Apple 曾尝试协助 Adobe 让 Flash 跑上 iOS、但结果非常糟糕,则主要依据 2021 年 Epic v. Apple 相关证词公开信息。
关键人物速览
- Steve Jobs:理解平台为什么会把第三方跨平台层看成威胁,绕不开他。
- Kevin Lynch:理解 Adobe 如何把跨平台选择权写成自己正当性的关键人物。
- Shantanu Narayen:理解 Adobe 怎样把 Apple 的技术批评翻译成“平台锁定叙事”,绕不开他。
- Scott Forstall:理解 Apple 为什么后来越来越有底气说 Flash 不适合移动端,绕不开他的回看证词。
参考与延伸阅读
Thoughts on Flash
https://web.archive.org/web/20100502021750/http://www.apple.com:80/hotnews/thoughts-on-flash/Adobe 'shifting focus' from Apple
https://www.cnet.com/tech/tech-industry/adobe-shifting-focus-from-apple/Adobe: We're ditching Flash Player for mobile
https://www.cnet.com/tech/tech-industry/adobe-were-ditching-flash-player-for-mobile/Adobe confirms it will no longer develop Flash for mobile browsers
https://appleinsider.com/articles/11/11/09/adobe_confirms_it_will_no_longer_develop_flash_for_mobile_browsersApple got Adobe Flash to work on iOS but performance was 'abysmal'
https://appleinsider.com/articles/21/04/27/apple-got-adobe-flash-to-work-on-ios-but-performance-was-abysmal-says-scott-forstall