~/VibeHandbook
$39

应用 / 移动端

swift.org

Swift

是什么

Swift 是 Apple 的现代开源编程语言,用于在 iOS、iPadOS、macOS、watchOS 和 tvOS 上构建应用——并且越来越多地用于服务端和跨平台代码。它取代 Objective-C 成为 Apple 开发的默认语言,将简洁、富有表达力的语法与强大的静态类型和内存安全结合在一起。你在 Xcode(或任何配备了开源工具链的编辑器)中编写 Swift,并发布到 App Store。

优势

  • 设计上即安全:optional 让"没有值"显式化,编译器能捕获一整类崩溃。
  • 快——编译为原生机器码,性能接近 C。
  • 富有表达力、可读性强的语法,带类型推断、闭包、泛型和值类型。
  • 通过 async/await 和 actor 提供一流的并发支持。
  • 第一天即可完整访问每一个 Apple 框架和最新的操作系统特性。

权衡取舍

  • 生态系统以 Apple 平台为中心;跨平台支持虽然存在,但成熟度远不及前者。
  • 工具链实际上意味着应用开发需要 Xcode 和一台 Mac。
  • 语言演进迅速,偶尔会带来不同版本之间的迁移工作。
  • 围绕 optional、值语义对比引用语义以及并发,存在真实的学习曲线。

何时使用

当你要为任意 Apple 平台构建原生应用,并且想要最佳性能、最新的操作系统能力以及一个安全、可维护的代码库时,就选用 Swift。对于一款打磨精良的 iPhone 或 Mac 应用,它是恰当的默认选择。

与 vibe coding 的契合度

Swift 很适合 AI 辅助编码,因为它严格的编译器会把模糊的错误变成你可以粘贴回模型的具体报错。要求助手依靠 optional 和 guard 来做安全解包,倾向于使用值类型(struct)和 async/await 而非回调金字塔,并把视图逻辑从模型中剥离出去。由于编译器很严格,能够通过构建的生成代码在结构上通常是健全的——让报错来引导每一次迭代。

struct Todo: Identifiable {
    let id = UUID()
    var title: String
    var done = false
}

func pending(_ todos: [Todo]) -> [Todo] {
    todos.filter { !$0.done }
}