# SwiftUI 中的 Vibe 编码:Django 联合创始人无需掌握语言即构建 macOS 工具
Simon Willison,Django 的联合作者兼 Datasette 的创建者,在一个晚上使用 SwiftUI 快速开发了两个 macOS 工具:网络流量监视器 Bandwidther(1,063 行)和 GPU/内存监视器 Gpuer(880 行)。他零 Swift 或 Xcode 经验,仅用几个 Claude Code 提示词。两个应用都是 MacBook Pro M5 Max 的单文件菜单栏工具。
AI 如何应对陌生框架
SwiftUI 非常适合 Vibe 编码:整个代码库只需一个文件。Claude Opus 4.6 和 GPT-5.4 表现出色,能力相当。Willison 强调生成菜单栏界面和图表多么轻松。
Bandwidther 按进程追踪网络流量,而 Gpuer 监控 GPU 使用率和 RAM 分布。提示词非常简短:基本描述加上一些界面调整。
代码重组技巧
关键方法是在项目间转移模式。首先,Bandwidther 获得了菜单栏界面。然后提示:“查看 Bandwidther 的最近更改并复制它们。” Claude 自动为 Gpuer 调整结构,同时保持一致风格。
这加速了开发:第二个工具几分钟内完成,无需重复劳动。重组能最小化菜单、图表和数据更新等重复元素的错误。
- 重组的好处:
- 自动转移已验证模式。
- 将 UI 开发时间从数小时缩短至几分钟。
- 确保应用间一致性。
Vibe 编码中的验证挑战
Willison 添加了免责声明:他不懂 Swift,对 macOS 指标也只有表面了解。第二天早上,Gpuer 显示 5 GB 空闲内存,但 Activity Monitor 显示不同。
他将错误截图发给 Claude,模型修正了计算。新值看起来合理,但作者无法在不深入了解 API 的情况下验证。
Vibe 编码的悖论:代码能编译,UI 正常运行,图表能更新——但数据准确性存疑。没有领域专长的开发者无法正确验证结果。
主要收获
- SwiftUI 中的 Vibe 编码让你无需掌握语言,即可在数小时内创建功能齐全的 macOS 应用。
- 项目间的代码重组是扩展的有效技巧。
- 主要风险:不了解平台 API 就无法验证指标。
- Claude 和 GPT 处理单文件 SwiftUI 项目同样出色。
- 适合原型,但生产环境需要专业知识。
对中高级开发者的启示
对资深开发者来说,Vibe 编码是快速原型工具。SwiftUI 降低了入门门槛:它是声明式的,且代码紧凑。
话虽如此,生产应用需要指标测试。例如,在 Gpuer 中,值应与 Mach API 的 host_statistics64 或 task_info 交叉验证,而不是依赖 AI 计算。
在 Bandwidther 中,流量通过 getifaddrs 和 sysctl 监控——标准调用,但未经审计,可能存在泄漏或不准确。
— Editorial Team
暂无评论。