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.swiftbukan 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.resolvedmengunci 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 |