核心概念區分
| 概念 | 角色 | 說明 |
| Xcode | IDE(集成開發環境) | 蘋果官方開發工具,包含代碼編輯器、Interface Builder、模擬器、調試器、打包簽名工具鏈。 |
| Objective-C | 編程語言 | C 的超集,動態運行時,消息發送機制,iOS/macOS 早期主力語言,現處維護模式。 |
| Swift | 編程語言 | 蘋果 2014 年發布,靜態類型、類型推斷、協議導向、內存安全,現為主力推薦語言。 |
關係圖解
Xcode (IDE)
├─ 編輯/編譯/調試 → Objective-C 代碼 (.m/.h)
├─ 編輯/編譯/調試 → Swift 代碼 (.swift)
├─ 編輯/編譯/調試 → C/C++ 代碼 (.cpp/.h)
└─ 統一輸出 → .app / .ipa / .xcframework
新項目選型建議
- 全新項目:首選 Swift。語法現代、安全、性能優、社區活躍、蘋果大力推廣(SwiftUI、Combine、Async/Await 僅支持 Swift)。
- 維護舊項目:繼續使用 Objective-C,或採用 Swift + Objective-C 混編(Bridge Header 互通),逐步模塊化遷移。
- 跨平台需求:考慮 Flutter/Kotlin Multiplatform,但原生體驗仍以 Xcode + Swift 為最佳。
常見誤區
- 「Xcode 是語言」:Xcode 只是工具,裡面寫什麼語言由你決定。
- 「Objective-C 已死」:大量系統框架、三方庫仍為 OC,混編無縫,不會強制遷移。
- 「Swift 只能用 Xcode」:Swift 支持 Linux/Windows,可用 VS Code + SourceKit-LSP 開發服務端代碼。
學習路徑建議
- 掌握 Xcode 基本操作:創建項目、斷點調試、Instruments 性能分析、簽名打包。
- 系統學習 Swift 5.9+ 語法:《The Swift Programming Language》官方書。
- 理解 Swift 與 OC 互調:
@objc、@objcMembers、_Nullable/_Nonnull 註解。
- 實戰 SwiftUI + Combine + SwiftData 現代開發棧。