AI 驱动的跨端迁移实践(上):一套工作流,一端变三端
如何用 AI Agent 工作流,把一个 iOS Objective-C 应用系统化地迁移到 iOS Swift、Android Kotlin、HarmonyOS ArkTS 三个原生平台?
从一个问题说起
你手上有一个运行了多年的 iOS Objective-C 应用,几十万行代码,功能完善,用户稳定。现在老板说:我们要同时支持 Android 和鸿蒙。
这不是纸上谈兵------这是我在一个艺术类应用(以下简称 ArtApp)项目中真实遇到的需求。
传统的做法要么是招三个团队各写一遍,要么用跨平台框架(Flutter/RN)重写。但我选了第三条路:用 AI Agent 驱动的系统化工作流,把一端代码逐模块迁移到三端原生实现。
为什么不用跨平台框架?
这个选择并非拍脑袋。ArtApp 是一个以高清艺术品浏览为核心的应用,涉及:
- 高清图片缩放与手势交互------需要原生级性能
- WebView + JSBridge 业务页------深度依赖平台 WebView 能力
- gRPC 通信------Android/iOS 有成熟的 protobuf 库,HarmonyOS 需手写编解码
- 平台特性------如 iOS 的 SwiftUI、Android 的 Material Design、鸿蒙的 ArkUI
跨平台框架在"最大公约数"上会让每个平台都不够原生。我需要的是三个100%原生的应用,只是它们的功能要完全一致。
核心理念:Spec-First + Golden Reference
整个工作流建立在两个核心理念上:
1. Spec-First(规格优先)
不直接翻译代码,而是先从 OC 源码中提取功能规格说明书。这份规格与平台无关,描述的是"这个模块做什么",而不是"怎么用 OC 做"。
为什么要多这一步?因为直接翻译 OC 代码到 Kotlin/ArkTS 会带入大量 OC 特有的模式(delegate、category、block 嵌套等),而提取规格后,每个平台可以用最地道的方式实现。
2. Golden Reference(金标准)
iOS Swift 实现作为跨端对齐的基准。并非 iOS 优先,而是因为我们有 OC 原版可以真机对比,iOS Swift 最容易验证正确性。一旦 iOS Swift 通过用户验收,它就成为 Android 和 HarmonyOS 的参照标准。
9 阶段工作流全景
这是整个迁移的核心流程,每个模块都走一遍:

蓝色 = 调度,紫色 = 分析,红色 = 实现,橙色 = 比对,绿色 = 验收,紫罗兰 = 沉淀。虚线箭头表示修复回退路径。
关键规则:
- 不允许跳过阶段------每个阶段都有准入/准出门禁
- Stage 5 后规格冻结------iOS 验收通过后,规格不再修改
- 修复不超过 3 轮------第 3 轮仍未通过就升级处理(回退到更早阶段)
- Stage 6 持续推进------Agent 不等"继续"指令,自动修复直到通过
7 个 Agent 各司其职
这不是一个 Agent 包打天下,而是专业化分工:

- 主 Agent 负责全局调度,分配模块、管理阶段流转
- Master Agent 从 OC 源码中提取功能规格书
- iOS Agent 按规格实现 SwiftUI 版本,产出金标准
- Android / Harmony Agent 参照金标准并行实现各自原生版本
- Comparison Agent 对每个平台做四维代码比对,输出差异报告
- Workflow Optimizer 在每轮结束后提取经验,更新知识库
每个 Agent 有明确的输入输出约定和共享策略(如统一的 Proto 定义、统一的配置项),确保三端行为一致。
统一的技术底座
三端虽然各自原生,但共享同一套"基因":
通信层:统一 Proto 定义
所有平台共用相同的 .proto 文件
iOS / Android:protobuf 自动代码生成
HarmonyOS:基于 .proto 手写编解码(ArkTS 无官方 protobuf 插件)
配置统一:
ServerAPPKey: <your-app-key>
ServerToken: <your-server-token>
Host: <your-grpc-host>:9090
Manager 层模式复用:
XxxInfoManager → 用户/业务信息管理(三端同名同接口)
XxxBusinessMgr → 业务逻辑调度
RPCHelper → gRPC 请求封装
这意味着无论在哪个平台调试,数据模型、接口定义、业务逻辑都是对齐的。
下篇预告
方法论说完了,但"纸上得来终觉浅"。在中篇里,我会分享:
- 20+ 个模块是怎么拆分和排序的?
- 四维代码比对到底比什么?
- 并行实现 Android + HarmonyOS 时踩了哪些坑?
敬请期待。
作者按:本文所描述的工作流已在 ArtApp 项目中完成了 20+ 个模块的迁移,涵盖浏览、检索、用户、详情、设置等完整功能链。整个过程由 AI Agent 协同完成,人工主要参与需求确认和真机验收。