独立开发者 Tw93:AI 时代跨端开发真正可复用的不是代码,是规则
少数派作者 Tw93 在开发 Mole 的 Windows 版本时发现,十几万行 Swift 代码能脱离 macOS 框架复用的不到 20%,于是几乎从零开始用 C# 和 WinUI 3 重写。他由此提出一个判断:AI 大幅降低了各平台原生开发的效率成本,跨端真正值得维护的同步层不再是代码抽象,而是设计 token、文案和踩坑后定下的规则。
Tw93 是少数派作者,开发了 Mole、Kaku、Pake、妙言等多款桌面工具。他在 2026 年 11 月发布了一篇长文,记录了自己用 Mac 开发 Windows 软件的全过程,核心结论是:在 AI 写代码不再是瓶颈的今天,跨平台开发真正需要复用的不是代码,而是规则。
这个判断来自一个具体的工程事实。Mole 的 Mac 版本用 Swift 和 SwiftUI 写成,有十几万行代码。Tw93 最初打算尽量复用这些代码到 Windows 版本,让 AI 分析后发现,能脱离 AppKit、SwiftUI 这些 macOS 系统框架使用的部分不到 20%,剩下的逻辑大量依赖 ~/Library 这类 macOS 独有的路径规则,基本用不上。Windows 版几乎是从零开始写的。
既然代码无法复用,两边怎么保持一致?Tw93 的做法是把同步层上移到设计规则和决策记录。他把 Mac 版写在 Swift 里的颜色、字号、间距、圆角这些设计 token,用一个脚本直接生成为 Windows 里的 XAML 资源;11 种语言的文案从 Mac 的多语言文件格式转成 Windows 格式;甚至菜单栏里的 runner 动画也是同一个脚本同步的。功能层面,他维护一份 SYNC.md 作为对账表,Mac 每加一个功能或修一个安全问题,Windows 这边都标清楚哪些已实现、哪些刻意不同、哪些不适用,以及为什么这样判断。每次同步还会记录对应的是 Mac 的哪一个提交,防止 AI 跑偏后两边越走越远。
他把这个经验概括为一个判断:随着时代发展,所谓的代码抽象没有那么重要了,反而是规则抽象更重要。设计、文案以及踩坑后定下来的各种规则,才是 AI 真正擅长的「能力抽象层」。底层代码各写各的,不需要刻意硬写一层兼容去磨平,那样反而变复杂。
这套方法之所以可行,前提是 AI 把原生开发的效率成本大幅压下来了。Tw93 的工作流是:代码和 AI 上下文全部留在 Mac 上,用 Claude Code 写代码;Windows 只负责编译和验证,通过 Parallels Desktop 虚拟机跑,仓库作为共享文件夹挂进去;虚拟机测不准的场景(高分屏、电池、SmartScreen 拦截)放到一台 ThinkPad X1 Carbon 真机上验证,这台机器设置永不休眠,让 agent 24 小时跑回归测试。最终一个月写了 8 万多行 Windows 代码、4000 多个测试。
架构设计上他也做了配合:Mole Windows 分四层,最底下的 Core 层只依赖 .NET 不碰任何 Windows 接口,清理规则和路径安全检查都放在这里,测试用按 Windows 路径规则模拟的内存文件系统,在 Mac 上就能跑;往上是 Platform 层放注册表和 Win32 调用,打开 EnableWindowsTargeting 后 Mac 上也能编译;再往上是 ViewModel 层和 Mac 版一一对应;只有最上面的 WinUI 界面必须去 Windows 编译。越往下越不碰 Windows,越多代码可以在 Mac 上验证。
不过需要注意到,Tw93 在文首已声明与文中产品有直接利益关系。他的结论天然倾向于验证自己的原生选择。此外,一个月写 8 万行代码的前提是他本人精通两个平台、有多年客户端经验,并且深度使用 AI 编码工具。对于不具备这些条件的团队,或者业务逻辑本身高度共享的场景(比如 Kotlin Multiplatform 这类方案),跨端框架仍然是更务实的选择。他的判断更适用于独立开发者或小团队在 AI 辅助下追求各平台最佳体验的情形。