一个 12 周的"反悔"

先说个数字:12 周。

Shopify 的消费者应用 Shop,从概念验证到完全原生的生产版本,只花了 12 周。

而在这之前,Shopify 在 React Native 上投入了五年。

这不是个"框架翻车"的故事——Shopify 自己说得很清楚:React Native 并没有做错什么,它多年来一直很好地完成了任务。 直到 2025 年 1 月,公司还在公开聊 React Native 的未来规划。

那为什么突然推翻?

Shopify 工程总监 Mustafa Ali 给了一句话,我觉得是整件事里最值得琢磨的:

“LLM 改变了我们 2020 年那个决策背后的核心假设之一。”

先把事实理清楚

Shopify 要做什么:

  • 放弃跨平台方案,转向全原生开发(Swift + Kotlin)
  • 消费者应用 Shop:已用 12 周完成原生重写并上线
  • 下一个是商家应用——300 多个屏幕,深度依赖 iOS 平台能力,这才是真正难啃的骨头

有意思的是,Shopify 的态度并不"悔婚"。他们说 React Native 当年是正确选择,只是在新的条件下,账算不过来了。

那条件变了什么?

核心变化:AI 抹平了"重复实现"的成本

跨平台框架的立身之本,其实就一句话:写一遍,跑两处。

这个价值有一个前提假设——把同一件事在 iOS 和 Android 上各实现一遍,成本太高,不值得。

Shopify 2020 年选 React Native,正是基于这个假设。

而到 2025 年底,他们发现情况变了:

一个 Agent 可以看 iOS 上某功能怎么实现的,然后直接把 Android 版本写出来——反过来也一样。

工程师也可以去做自己并不熟悉的平台,因为 Agent 能承担掉大部分平台特定的工作。

看懂了吗?“两端各写一遍"的成本,被 AI 打下来了。

当重复实现变得便宜,“共享一份代码"这件事省下的价值,自然就缩水了。

而一旦"省人力"不再是压倒性优势,原生的好处就重新浮现:性能、平台能力的完整访问、没有桥接层的弯路、能第一时间用上系统新特性。

300 多个屏幕还深度依赖 iOS 平台集成——这种活儿用原生做,本来就比跨一层合适。

以前不用原生是因为贵,现在没那么贵了。

但别急着鼓掌:AI 重写远不是"一键完成”

如果你以为 Shopify 是"把代码丢给 AI,12 周后拿到原生 App”,那这份报道里最该看的部分你就错过了。

他们第一次尝试,失败了。

Shopify 最开始的做法很直接:把现有的 React Native 代码给 LLM,让它重写成原生。

结果——Mustafa Ali 用的词是 “slop”(垃圾)。加更多步骤也没解决问题。即使让模型先写规格文档和任务清单再动代码,产出的代码量依然大到工程师根本不想维护。

这就是很多人对 AI 编程最大的误判:以为"AI 能写"等于"AI 能交付"。

真正让项目跑通的,是他们为此专门建的一套系统,叫 Helix:

  • 逐屏迁移:不试图一次重造全部,而是把每个屏幕拆成更小的块
  • 持续对照:一边迁移,一边跟现有 App 的行为做比对
  • 独立审查:单独的 Agent 先扫代码问题,再由人签核
  • 反馈闭环:把审查意见留存下来,让前面发现的问题能指导后续的迁移

这个思路,和 Shopify CEO Tobi Lütke 在 X 上放的那句话是同一个逻辑——他当时说,因为工程师提交了审查不足的 Agent 生成代码,他"正在考虑在 Shopify 禁用 Claude Code"。

连 Lütke 这种最激进的 AI 鼓吹者,都在守同一条线:Agent 的产出必须先自证,才能被人依赖。

一个没人预料到的新瓶颈

还有个细节特别真实,值得所有做移动端的人看一眼:

Agent 可以在几秒钟内改完代码,但在移动模拟器里测试它,要花两倍的时间。

写代码快了,验证变慢了。

这是 AI 编程时代最容易被忽略的错配——你的开发速度上去了,但你的验证带宽没变。 手速再快,测试环境不会跟着变快。

Shopify 的解法我觉得挺聪明:把业务逻辑从 UI 里剥出来,让 Agent 通过跑在桌面上的 CLI 直接跟 App 交互。

效果是:有些原本要几分钟的检查,现在毫秒级完成;同一个接口需要时也能驱动模拟器。

注意这个解法本身——它又一次证明了"架构清晰"比"工具先进"更重要。 如果你的业务逻辑和 UI 糊在一起,任何 Agent 都救不了你的测试速度。

同期还有个更夸张的案例

同一篇报道里提到另一件事,我觉得放一起看更有意思。

Bun 的创造者 Jarred Sumner(现在在 Anthropic)做了一次语言移植:用 64 个并行的 Claude 实例,把 JavaScript 运行时从 Zig 移植到了 Rust。

规模:约 100 万行代码。

耗时:11 天,单人监督。

API 成本:约 16.5 万美元。

合并前,现有测试套件在全部六个支持的平台上都通过了。

报道里那句话很戳人:一年前,这需要一个小组干好几个季度;现在,是一个人的 11 天冲刺。

但反着走的公司也有

别急着下"跨平台要完"的结论。这不是一条单行道。

今年 5 月,开发者 Simon Willison 在博客里记过一次见闻——他遇到一位工程师,那家公司用编码 Agent 把原本分开的 iPhone 和 Android 两个 App,合并成了一个 React Native 应用。

Willison 当时觉得奇怪:既然 Agent 让"维护两套代码库"变容易了,为什么还要费劲合并?

那位工程师的回答很实在:不怕被锁定。 React Native 做了他们需要的事,如果将来情况变了,随时可以再迁回原生。

而 Shopify 现在做的,正是"再迁回原生"这个动作。

所以真正变化的东西,不是"哪个方向是对的",而是——迁移成本降低了,两个方向都变得可行了。

以前一次技术选型是"押注五年",因为推翻太贵。现在 12 周就能翻盘,选型从"终身大事"变成了"阶段性决策"。

这对工程师是好事,还是更累?我倾向于是好事——但它要求你的架构更干净,否则连迁都迁不动。

如果你正在纠结,先问自己四个问题

1. 你的痛点是"写两遍",还是"两端不一致"?

前者 AI 能帮你缓解,后者还得靠架构解决。如果你的痛点其实是后者,跨平台的收益反而在上升——因为一致性是架构问题,AI 不替你解决。

2. 你对平台能力的依赖有多深?

像 Shopify 商家应用那样——300 多个屏幕、深度依赖 iOS 平台集成——原生带来的收益是实打实的。但如果你的 App 主要就是表单、列表、聊天,共享 UI 的代价完全可以接受。

3. 你的业务逻辑和 UI 切干净了吗?

Shopify 那条"测试变慢"的坑值得每个人警惕:如果逻辑和 UI 搅在一起,AI 帮你写得再快,验证也快不起来。 先把边界切干净,再谈用不用 AI。

4. 你有能力管住 Agent 的产出吗?

Shopify 建了 Helix 才跑通,第一次尝试直接产出 slop。如果你手上没有配套的审查流程和验证手段,“让 AI 重写"大概率就是给自己挖坑。

这几个问题的答案,比"哪个框架更流行"重要得多。

那么回到问题:跨平台框架还香吗?

我的判断是——“香"的定义要变了。

第一,靠"省人"吃饭的框架,压力最大。

如果你的框架核心卖点是"一套代码两端跑,省一个团队”,那 AI 正在直接侵蚀这个卖点。Shopify 就是个活样本。

第二,但跨平台的价值从来不只"省人”。

还有这些:跨端行为一致、发布节奏统一、团队认知负担低、业务逻辑不必写两遍还要保证不错位。

AI 让"写代码"变便宜了,但没有让"保证两端行为一致"变便宜。 后者是架构问题,不是打字速度问题。

第三,也是我最想说的:KMP 的路线,可能正好踩在这个变化的上风口。

把现在的跨平台方案摊开看,其实分两派:

  • 共享 UI 派(React Native、Flutter):连界面都跨,省得最狠,但也最容易被"AI 让原生变便宜"这件事冲击
  • 共享逻辑派(Kotlin Multiplatform):只共享业务逻辑,UI 各写各的原生

Shopify 这次迁到的是 Swift + Kotlin——注意,是两个原生语言,其中一个是 Kotlin。

如果 AI 真的把"平台特定实现"的成本压下来了,那受益最少的恰恰是"共享 UI";而"共享逻辑 + 原生 UI"这条路,既保住了业务逻辑单点维护的收益,又吃到了原生 UI 的红利。

换句话说:AI 时代,“共享什么"比"共享多少"更重要。

我的结论

Shopify 这个案例最容易被误读成两种情况:

  • 误读一:“React Native 不行了” —— 不对,Shopify 自己都否认了
  • 误读二:“AI 无所不能,什么都能重写” —— 也不对,他们第一次尝试就产出了一堆 slop

真实的情况更像是:AI 降低的是"实现成本”,而不是"决策成本"。

什么该共享、什么该原生、架构怎么切分、验证怎么做——这些判断,AI 一点都没帮你省。Shopify 能 12 周跑通,靠的不是模型有多强,而是他们建了 Helix 那套流程去管住模型。

所以跨平台框架还香吗?

香。但香的理由正在从"省人力",转向"架构治理"。

而选择哪个框架的答案,也正在从"哪个省代码",变成——“哪个更容易被 AI 和人都维护好”。

这两句话听起来很像,实际差得很远。


你怎么看 Shopify 这个决定?你手上的项目,跨平台和原生的账算得过来吗?

欢迎评论区聊聊。


参考资料:Shopify spent years on React Native — then rebuilt everything in 12 weeks(The New Stack,2026-09-10) · Shopify’s CEO threatened to ban Claude Code(The New Stack)