返回首页

氛围编码 SwiftUI:无需掌握语言的 macOS 实用工具

Django 合著者西蒙·威利森使用 AI 无需掌握语言即基于 SwiftUI 创建了两个 macOS 实用工具。只用了代码重组和几个提示。强调了无专业知识验证指标的风险。

如何在无需 Swift 的情况下基于 SwiftUI 创建 macOS 应用
Advertisement 728x90

# 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 分布。提示词非常简短:基本描述加上一些界面调整。

Google AdInline article slot

代码重组技巧

关键方法是在项目间转移模式。首先,Bandwidther 获得了菜单栏界面。然后提示:“查看 Bandwidther 的最近更改并复制它们。” Claude 自动为 Gpuer 调整结构,同时保持一致风格。

这加速了开发:第二个工具几分钟内完成,无需重复劳动。重组能最小化菜单、图表和数据更新等重复元素的错误。

  • 重组的好处

- 自动转移已验证模式。

Google AdInline article slot

- 将 UI 开发时间从数小时缩短至几分钟。

- 确保应用间一致性。

Vibe 编码中的验证挑战

Willison 添加了免责声明:他不懂 Swift,对 macOS 指标也只有表面了解。第二天早上,Gpuer 显示 5 GB 空闲内存,但 Activity Monitor 显示不同。

Google AdInline article slot

他将错误截图发给 Claude,模型修正了计算。新值看起来合理,但作者无法在不深入了解 API 的情况下验证。

Vibe 编码的悖论:代码能编译,UI 正常运行,图表能更新——但数据准确性存疑。没有领域专长的开发者无法正确验证结果。

主要收获

  • SwiftUI 中的 Vibe 编码让你无需掌握语言,即可在数小时内创建功能齐全的 macOS 应用。
  • 项目间的代码重组是扩展的有效技巧。
  • 主要风险:不了解平台 API 就无法验证指标。
  • Claude 和 GPT 处理单文件 SwiftUI 项目同样出色。
  • 适合原型,但生产环境需要专业知识。

对中高级开发者的启示

对资深开发者来说,Vibe 编码是快速原型工具。SwiftUI 降低了入门门槛:它是声明式的,且代码紧凑。

话虽如此,生产应用需要指标测试。例如,在 Gpuer 中,值应与 Mach API 的 host_statistics64task_info 交叉验证,而不是依赖 AI 计算。

在 Bandwidther 中,流量通过 getifaddrssysctl 监控——标准调用,但未经审计,可能存在泄漏或不准确。

— Editorial Team

Advertisement 728x90

继续阅读