开源于2015年的React Native刚刚走完一场历时六年的底层重写,新架构全面接管,旧架构被冻结,Hermes V1默认启用,严格TypeScript API成为默认公共接口。从框架自身的技术演进看,这几乎是React Native历史上最成熟的时刻。但就在这个节点,Shopify宣布离开:旗下移动应用将全面转向Swift和Kotlin,并大量依靠Agent完成重写。
Shopify曾投入数年把旗下应用陆续迁上React Native,参与新架构落地,长期赞助React Native Skia,并开源了FlashList、Restyle等高影响力项目。2025年1月,Shopify还在公开表示React Native前景光明,公司会继续投入。仅规模最大的商家端应用,就有约600个页面被迁移至React Native。然而9月10日,它宣布重返原生开发,消费者应用Shop从概念验证到正式发布全原生版本只用了12周,接下来是拥有300多个页面、深度依赖iOS平台能力的商家端应用。
Shopify工程总监Mustafa Ali在官方博客中坦言:“LLM改变了我们在2020年做出这一决定时所依据的一项核心前提。”2025年底,Shopify发现Coding Agent已能参考iOS版本在Android上实现相同功能,反之亦然;不熟悉某个平台的工程师能在Agent协助下高效参与开发;共享的specifications、测试和审查检查点大幅降低了维持两个平台功能一致性的成本。原生开发依然意味着两套代码,但“两套代码等于两倍人力”的等式已不再成立。
Shopify因此从第一性原理重新评估移动技术栈,最终选择回到Swift和Kotlin。当初迁移时采用的是渐进式“棕地迁移”,因为从头重写可能持续数年;如今有了Coding Agent,Shopify选择直接“绿地重建”。Shopify最初尝试把现有React Native代码库交给LLM直接重写,结果并不理想,Ali将模型直接生成的内容称为“垃圾代码”,即便预先冻结规范和任务文件,最终也会产生大量难以维护、无法发布的代码。
Shop的迁移由一次小规模实验开始:一名工程师用一周时间让Coding Agent参考现有应用尽可能重建SwiftUI版本,成果虽不能投产,却证明原生重建可行。随后Shopify组建6人核心团队负责原生基础设施和主要用户路径,各功能团队在迁移中途加入,验证模块并补齐边缘场景。为控制代码质量,Shopify将可复用的迁移工作流做成了Pi Coding Agent的扩展,由不同子Agent分别检查源码、记录行为、制定平台计划并完成实现。
咨询
咨询