Section 1/172 menit

1. Apa Itu Swift Package Manager?

1. Apa Itu Swift Package Manager?

Swift Package Manager (SPM) adalah build system + dependency manager native yang dibuat oleh Apple, integrated ke Swift toolchain. SPM mengelola dependency, build, test, dan distribusi kode Swift dengan satu file manifest: Package.swift.

Berbeda dengan CocoaPods atau Carthage yang berfungsi di atas Xcode project, SPM adalah build system-nya sendiri. Sejak Xcode 11, SPM terintegrasi langsung ke Xcode — kamu bisa menambah package tanpa terminal sama sekali.

Filosofi Desain SPM

  • Manifest sebagai Swift code. Package.swift bukan YAML atau JSON — itu Swift program yang dieksekusi. Type-safe, autocomplete, refactorable.
  • Sumber kebenaran tunggal. Tidak ada Podfile + Podfile.lock + project file yang harus disinkronkan. SPM menggenerate build graph dari manifest.
  • Cross-platform. Dirancang untuk Apple platform + Linux + Windows. Bukan iOS-only tool.
  • Reproducible builds. Package.resolved mengunci versi exact untuk reproducibility.

Evolusi Singkat

Tahun Milestone
2015 SPM open-source dengan Swift 2.0 (server-side only)
2019 Xcode 11: integrasi penuh dengan iOS/macOS app
2020 Resources & localization support (Swift 5.3)
2021 Binary targets & XCFramework
2022 Build plugins & command plugins (Swift 5.6)
2023 Package Registry support (Swift 5.7+)
2024+ Swift 6 strict concurrency, package access level