BlackHalo logo
Published on

Shopify 从 React Native 回归原生:AI 智能体改写移动开发成本公式

Authors
  • Name
    fnthawar2
    shopify.engineering
Shopify 移动应用从 React Native 迁移到原生 Swift 和 Kotlin 的示意图
头图来源: 来源页面

背景与决策转变

Shopify 在 2020 年全面拥抱 React Native,并取得了巨大成功:只需构建一次功能即可在 iOS 和 Android 上运行,让没有移动端背景的开发者也能参与贡献,并摆脱了不断追赶功能一致性的负担。2025 年 1 月,Shopify 工程团队还曾撰文表示 React Native 前景光明,计划继续投入。然而,短短一年多后,情况发生了根本性变化。

核心变量是编码模型(coding models)的飞速进步。到 2025 年底,AI 智能体已不再仅仅是帮助开发者更快地写代码,而是能够独立完成复杂任务:根据 iOS 版本实现 Android 功能,反之亦然;帮助开发者快速跨平台贡献;通过共享规范、测试和审查节点大幅降低维护双平台一致性的成本。这使得“构建两次”不再等同于“双倍工作”,从而动摇了 2020 年选择 React Native 的核心假设。

Shopify 决定从第一性原理重新评估移动技术栈。他们用 LLM 重建了几个核心应用的原生版本,结果出乎意料地好。因此,尽管 React Native 仍然是一个优秀的框架,但 AI 智能体已经削弱了共享实现层的优势,而原生开发在平台能力、第一方工具链、减少框架和依赖层方面的优势变得更加突出。

开源库的未来安排

Shopify 在 React Native 生态中贡献了多个知名开源库,此次迁移将妥善处理这些库的后续维护。

  • React Native Skia:Shopify 将继续赞助至 2026 年底,之后由核心贡献者 William Candillon 继续维护。他将在未来几个月内 fork 仓库并以新名称发布,原仓库将在迁移完成后归档。
  • FlashList:每周约 200 万次下载,已成为 React Native 高性能列表渲染的默认方案。Shopify 将继续修复关键兼容性问题,并正在与多家公司洽谈长期维护事宜。
  • Restyle:用户基数较小,仓库将被归档,2026 年底停止维护。欢迎社区 fork 并继续发展。

迁移策略:绿场重建

Shopify 拥有多个大型应用(Shopify、Shop、Point of Sale、Inbox),服务数百万商家和买家。团队在“逐步迁移(棕场)”和“从头重建(绿场)”之间进行了权衡。

过去从原生迁移到 React Native 时,他们选择了棕场方式,因为重写需要数年且会中断新功能发布。但这次绿场方案成为明确赢家,原因有三:

  • LLM 能够以 React Native 版本为参考,高效地生成 Swift 和 Kotlin 代码。
  • 绿场提供了干净的起点,可以不受历史约束地以最佳方式重建。
  • 原型验证表明,借助 AI 智能体,重建速度远超以往。

Shop 应用(经常位居购物类应用商店榜首)是第一个完成迁移的。在 AI 辅助下,团队仅用 12 周就从概念验证到发布完全原生的应用。Shopify 主应用(拥有 300+ 屏幕、主屏幕小组件、Apple Watch 应用、Siri 快捷指令等)的迁移正在进行中,预计今年晚些时候上线。其余应用将陆续跟进。

防止“垃圾代码”:Helix 系统

直接让 LLM 读取 React Native 代码库并一次性生成原生代码是不可行的,会产生大量不可维护的代码。Shopify 构建了名为 Helix 的系统来解决这个问题。

Helix 采用渐进式方法:开发者将某个屏幕指向 Helix,Helix 读取 React Native 代码并提出一系列检查点(小而有序的工作切片),每个检查点可在几分钟内审查。然后逐个检查点构建:每个检查点必须通过测试验证行为、与运行中的应用进行视觉对比、通过两个对抗性代码审查,最后获得人工批准才能提交并进入下一个检查点。每次审查的反馈都会被记住,使得循环在迁移过程中越来越自主。

这种方法效果极佳,使得应用重建时间大幅缩短。

快速反馈循环:面向智能体的架构

AI 智能体控制模拟器一直是个瓶颈。智能体可以秒级修改代码,但测试输出需要几分钟,导致迭代极其缓慢。Shopify 通过重新设计应用架构来解决:将业务逻辑与 UI 完全解耦,使其能在桌面端无头运行,并通过 CLI 暴露给智能体。

CLI 允许智能体检查应用状态、在不同部分之间导航、执行操作,完全无需接触 UI。这实现了毫秒级的反馈循环,智能体可以连续自主工作数小时。当需要模拟器交互时,CLI 可以通过远程模式驱动 UI,无需检查布局或无障碍树,从而实现极快的性能和端到端测试。

未来展望

Shopify 计划将所有移动应用迁移到 Swift 和 Kotlin,全程使用 AI 辅助。Shop 已作为完全原生应用发布,Shopify 主应用正在进行中,其余应用将很快跟进。迁移不是终点,成功意味着团队能够比以前更快地为商家和买家提供更好的体验。Shopify 将分享迁移过程中的经验,包括 Helix 系统的深入介绍、面向智能体的架构设计,以及如何用智能体构建移动应用。

致谢

Shopify 特别感谢 Meta 的 React Native 团队多年来的出色合作,感谢 William Candillon 创造了 React Native Skia 并重新定义了图形和动画的可能性,感谢 Software Mansion 在 Reanimated 上的工作。React Native 在 2020 年是 Shopify 的正确选择,而今天原生是正确选择,这离不开这些合作伙伴的贡献。

原标题:Shopify is moving from React Native back to Swift and Kotlin。 HN 原始发布时间:2026年9月10日星期四。当前记录为 823 分、545 条评论。

阅读原文 · 查看 HN 讨论