Section 1/132 menit
1. Landscape
1. Landscape
Apa yang Tersedia di Swift 5.x (Tanpa Swift 6 Mode)
Swift mulai memperkenalkan concurrency secara bertahap sejak Swift 5.5. Semua fitur di bawah bisa digunakan tanpa mengaktifkan Swift 6 language mode — artinya pelanggaran isolation menghasilkan warning, bukan error.
| Fitur | Versi Minimum | iOS Minimum | Keterangan |
|---|---|---|---|
async/await |
Swift 5.5 | iOS 15 | Fondasi utama |
actor, @MainActor |
Swift 5.5 | iOS 15 | Isolation berbasis tipe |
Sendable, @Sendable |
Swift 5.5 | iOS 15 | Data race prevention |
async let, TaskGroup |
Swift 5.5 | iOS 15 | Structured concurrency |
Task {}, Task.detached {} |
Swift 5.5 | iOS 15 | Unstructured concurrency |
AsyncSequence, AsyncStream |
Swift 5.5 | iOS 15 | Streaming data async |
withCheckedContinuation |
Swift 5.5 | iOS 15 | Bridge callback → async |
@preconcurrency |
Swift 5.6 | iOS 15 | Suppress warning library lama |
distributed actor |
Swift 5.7 | iOS 16 | Distributed computing (advanced) |
@Observable |
Swift 5.9 | iOS 17 | Observation framework baru |
| Strict concurrency (error) | Swift 6 only | — | Pelanggaran = compile error |
sending parameter |
Swift 6 only | — | Region-based isolation |
~Copyable noncopyable |
Swift 6 only | — | Ownership ketat |
Catatan penting: Di Swift 5.x, compiler memeriksa concurrency tetapi menghasilkan warning bukan error. Ini memberi ruang untuk migrasi bertahap. Namun, tanpa disiplin, warning yang diabaikan bisa menjadi data race di runtime.