8.1
深览指数
科技少数派·Tw93··AI 生成
你不知道的客户端开发:AI 时代下的选型、原生与借力
作者以独立开发者身份复盘 Mole Windows 版的完整开发过程:为何在 AI 时代仍选 C# + WinUI 3 原生而非 Electron/Tauri,如何用 Mac + Parallels + Claude Code 在一个月内写出 8 万行代码、4000 多个测试,以及签名证书、SmartScreen 信誉积累这些「比 Mac 麻烦得多」的 Windows 现实。核心判断是:AI 补上了原生的效率短板,工程师的真正价值转移到架构分层与测试验证,可复用的重点从代码抽象变成规则抽象。原文 ↗
核心观点
- ▍客户端技术选型存在「研发效率、体验、性能」不可能三角:Web 偏效率、原生偏体验性能、跨端取中间;AI 大幅降低写两套原生的成本后,效率这一侧被补上,原生的性价比明显回升。
- ▍AI 时代工程师的核心价值从「写代码」转向架构设计与测试验证,代码抽象不再是最重要的复用层,设计 token、文案、踩坑后沉淀的规则才是 AI 友好的「能力抽象层」。
- 01Electron 每个应用自带一份 Chromium + Node.js,安装包 100 多 MB、内存占用高;Tauri(Rust)、Wails(Go)改用系统 WebView,包体小很多,但 Windows WebView2、macOS WKWebView、Linux WebKitGTK 三套引擎不一致,仍要写兼容代码,所以 Electron 依然被更多选择。
- 02Mole Windows 架构分四层:Core 只依赖 .NET 不碰 Windows 接口、Platform 层放注册表/文件系统/Win32 调用、ViewModel 层与 Mac 版一一对应、只有最上层 WinUI 界面必须在 Windows 里编译;开启 EnableWindowsTargeting 后 Mac 上也能编译。
- 03作者在 Mac 的 Swift 代码十几万行中,能让 AI 评估出可脱离 AppKit/SwiftUI 独立使用的不到 20%,且逻辑绑定 ~/Library 等 macOS 路径规则,因此 Windows 版几乎从零写起。
- 04Windows 签名生态明显弱于苹果:微软 Azure Artifact Signing 每月 9.99 美元但个人只开放美国和加拿大;2023 年起私钥必须放硬件或云端 HSM,今年起单张证书有效期最长 460 天;作者最终买 Certum 云端 OV 证书,3 年 300 多美元,靠每次发版提交微软恶意软件分析门户慢慢积累 SmartScreen 信誉。
- 05作者用 Mac + Parallels Desktop(约 300 多元/年)+ Claude Code 开发,仓库作为共享文件夹挂成 X 盘,编译和启动通过 prlctl exec 脚本在虚拟机执行,0xc000027b 这类崩溃由 Mole 写进日志供 Claude 读取;虚拟机测不准的高分屏、电池、SmartScreen 则放到 ThinkPad X1 Carbon 真机上验证。
- 06跨语言借力的具体案例:妙言用 Swift 调 JavaScriptCore 实现 Markdown 格式化,分栏同步滚动走 C(cmark-gfm)→ JS → Swift 三层消息通道;Pake 用 Rust 调 JS 渲染 Toast;Kaku 用终端转义序列把自然语言经 zsh → Lua → Rust 请求模型再回填命令行。
反方 / 局限
- — 作者承认跨端并非总是坏选择:当技术选型不重要、工作量巨大、业务效果远大于技术体验时,跨端能以最快速度把功能推给用户;原生推荐是有场景前提的。
- — 「一个月 8 万行、4000 多个测试」的样本高度依赖作者本人已有的多语言功底与 AI 工具链,文章未讨论团队协作、长期维护、UI 层无法在 Mac 上验证等代价,作者也自嘲半年后这个活可能不需要工程师干了。
ElectronTauriWailsFlutterWinUI 3Windows App SDK.NET 10Kotlin MultiplatformParallels DesktopVelopackClaude CodeMole妙言PakeKakuCertum微软 Azure Artifact SigningSmartScreenThinkPad X1 Carbon
20 分钟 · 6 卡片 · 15 资料
读原文 →