~/VibeHandbook
免費 PDF

應用 / 行動端

swift.org

Swift

是什麼

Swift 是 Apple 的現代開源程式語言,用於在 iOS、iPadOS、macOS、watchOS 和 tvOS 上構建應用——並且越來越多地用於服務端和跨平臺程式碼。它取代 Objective-C 成為 Apple 開發的預設語言,將簡潔、富有表達力的語法與強大的靜態型別和記憶體安全結合在一起。你在 Xcode(或任何配備了開源工具鏈的編輯器)中編寫 Swift,併發布到 App Store。

優勢

  • 設計上即安全:optional 讓"沒有值"顯式化,編譯器能捕獲一整類崩潰。
  • 快——編譯為原生機器碼,效能接近 C。
  • 富有表達力、可讀性強的語法,帶型別推斷、閉包、泛型和值型別。
  • 通過 async/await 和 actor 提供一流的併發支援。
  • 第一天即可完整訪問每一個 Apple 框架和最新的 OS(作業系統,裝置的核心軟體,如 iOS 或 macOS)特性。

權衡取捨

  • 生態系統以 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 }
}