LLM 重塑成本假设:为何重新审视 React Native

Shopify 在 2020 年全面押注 React Native,这一决策在当时极为成功。通过构建一次、多处运行的策略,不仅节省了开发时间,还让非移动端背景的开发者也能参与贡献,并摆脱了追逐功能对等的负担。然而,到了 2025 年,编程模式的巨大进步改变了核心假设。随着大语言模型(LLM)能力的提升,使用 Swift 和 Kotlin分别构建相同功能的成本已不再像过去那样高昂。Shopify 秉持不固守过往成功决策的原则,当核心假设发生变化时,愿意从第一性原理重新评估技术栈。

"LLMs changed one of the core assumptions behind our 2020 decision, so we reevaluated our mobile stack from first principles."

Shopify 自 2021 年起便使用 LLMs,从最初的代码实现和 Bug 修复,发展到如今让 AI 质疑“构建两次是否意味着双倍工作”。通过原型测试发现,AI 代理(Agents)能够以 iOS 版本为参考在 Android 上实现功能,反之亦然。这不仅帮助开发者跨越技术栈界限,还通过共享规范、测试和审查节点大幅降低了维护平台对等的成本。虽然原生开发仍需构建和维护两个平台的软件,但 AI 承担了大部分实现、翻译和审查工作,使得共享实现的相对优势减弱,而原生开发的优势重新凸显。

Helix 系统:渐进式原生迁移的核心引擎

为解决从 React Native 向 Swift 和 Kotlin 转换的复杂性,Shopify 构建了名为 Helix 的系统。该系统不追求一次性输出完美结果,而是采用渐进式迭代策略。开发者将 Helix 指向特定屏幕后,系统会读取代码并提议一系列有序的工作切片(Checkpoints)。这些切片可在几分钟内完成审查,随后 Helix 逐个构建:每个步骤必须通过行为测试验证、在视觉审查中与运行中的应用保持一致,并经受住两个对抗性代码评审员的挑战。只有在获得人类确认后,该步骤才会被提交并启动下一个循环。

"Helix reads the React Native code and proposes a sequence of checkpoints... each one must prove its behavior with tests, match the running app in a visual review".

这一机制确保了反馈闭环的自动化演进。随着迁移进程的推进,每一次审查产生的反馈都会被系统记忆并复用,使得 Helix 在后续阶段能够更加自主地工作。目前,这种方法已被证明极其有效,使 Shopify 能够在极短的时间内重建其移动应用。Helix 正在利用 Swift 和 Kotlin 重构 Shopify 移动端应用的屏幕,标志着其向原生架构转型的关键一步。

突破模拟器瓶颈:构建面向 Agent 的 CLI 工具链

在迁移过程中,Shopify 发现模拟器控制是主要的瓶颈。以往团队不得不频繁“ babysitting ”(监护)模拟器,因为它们无法可靠地构建、测试和迭代。虽然 React Native 的热模块加载(HMR)有所缓解,但由于对无障碍树或截图的依赖来获取应用状态、执行操作和验证结果,导致 Agent 测试输出需要数分钟而非几秒。这种缓慢的迭代速度使得即使模型能力再强,也无法高效工作。

为了解决这一问题,Shopify 重新设计了应用架构,核心原则是业务逻辑与 UI 完全解耦,并能在桌面端无头模式(headless)下运行。随后,通过开发命令行界面(CLI),Agent 可以在毫秒级时间内迭代业务逻辑,而无需启动模拟器。该 CLI 允许 Agent 检查应用状态、在不同部分间导航并执行操作,完全脱离 UI 交互。这种架构设计实现了极快的反馈循环,使 Agent 能够自主工作数小时。当确实需要模拟器交互时,CLI 可通过远程模式连接,直接通过命令驱动 UI,从而避免了布局或无障碍树检查的性能损耗。

"The core principle here is that business logic should be completely decoupled from the UI and be able to run headlessly on desktop. We then make it available to agents via a CLI that allows them to iterate on it in milliseconds instead of minutes".

未来路线图:不降低标准的全原生重构计划

Shopify 正利用 AI 将所有移动应用迁移至 Swift 和 Kotlin。目前,Shop App 已作为完全原生的应用程序发布,主 Shopify 应用的迁移正在进行中,其余应用也将陆续跟进。Shopify 强调,这一快速推进并非通过降低标准来实现。每一次重建都必须达到或超越当前用户对性能、稳定性、无障碍功能和产品质量的期望。这不仅仅是语言的简单重写,而是为了重建让人类和 Agent 都能快速理解、测试和修改的应用架构。

迁移并非终点,成功的关键在于团队能否比以往更快地为商家和买家提供更好的体验。Shopify 将通过产品速度、应用质量以及 Agent 自主完成的工作量来衡量这一转型的成功。公司承诺将公开分享在 Helix、Agent 可寻址架构以及 Agent 辅助移动应用开发方面的深入经验。作为 Shopify 最雄心勃勃的移动工程项目之一,公司正在招聘移动端工程师、基础设施工程师以及 AI 与软件工程交叉领域的开发者。

"This isn’t just the same apps rewritten in different languages. We’re rebuilding them so both humans and agents can understand, test, and change them quickly.".

致谢与历史回顾:React Native 的贡献者

Shopify 承认,虽然原生现在是正确的选择,但在 2020 年 React Native 是 Shopify 的正确选择。这一成功归功于众多贡献者。首先感谢 Meta 的 React Native 团队,他们作为框架的优秀管理者,倾听反馈并紧密合作,其架构、性能、工具和社区的投入使 React Native 变得更好。同时感谢 William Candillon,他创建了 React Native Skia,重新定义了图形和动画的可能性;以及 Software Mansion 团队,他们在 Reanimated 上的工作帮助解决了应用中最复杂的动画和性能问题。

此外,Shopify 向数百名工程师致谢,他们参与了 React Native 的采用、应用迁移、共享基础架构构建及性能改进。许多工程师在保持为商家交付产品的同时,重新成为初学者并挑战了固有假设。React Native 社区也因其开源库的使用、代码贡献、问题报告及反馈(包括尖锐的批评)而受到感谢。过去六年建立的工具、经验和关系将继续塑造 Shopify 的移动应用开发方式。

"Native is the right choice for Shopify now, but React Native was the right choice for Shopify in 2020. That success was only possible because of the people who made it work.".

结论

Shopify 的转型表明,大语言模型已根本性削弱了跨平台框架在开发成本上的传统优势。通过 Helix 系统与 CLI 工具链,AI Agent 实现了毫秒级业务逻辑迭代与渐进式原生重构,使 Swift/Kotlin 在效率上重新具备竞争力。该方案的核心在于业务逻辑与 UI 解耦及自动化反馈闭环,而非单纯的语言替换。

尽管 Shop App 已验证全原生架构的可行性且未降低质量标准,但此模式高度依赖 AI Agent 的能力成熟度与基础设施支持。对于缺乏相应工程体系或 AI 集成深度的团队,原生开发的双端维护成本依然显著。这一结论仅适用于具备强大自动化重构能力与 AI 工程化基础的场景,尚不能直接推广至所有移动开发情境。