Section 11/131 menit

11. Kapan Tidak Digunakan

11. Kapan Tidak Digunakan

Jangan gunakan @Observable ketika:

  • Target minimum iOS 16 ke bawah@Observable tidak tersedia, wajib pakai ObservableObject. Tidak ada workaround.
  • Project sudah heavily invested di Combine pipeline — jika seluruh data layer sudah menggunakan AnyPublisher, PassthroughSubject, dll, refactor ke @Observable membutuhkan perubahan besar tanpa manfaat langsung yang sebanding
  • Butuh operator Combine (debounce, throttle, combineLatest, flatMap) untuk transformasi reactive yang kompleks — @Observable tidak memiliki ekuivalen ini. Pertimbangkan kombinasi @Observable + Combine pipeline terpisah, atau AsyncSequence
  • Butuh fine-grained Combine subscription dengan backpressure management — AsyncStream lebih cocok, bukan @Observable
  • Value type (struct) yang ingin di-observe@Observable hanya bekerja untuk class. Untuk struct, gunakan @State langsung di SwiftUI
  • Server-side Swift tanpa SwiftUI — withObservationTracking bisa dipakai, tapi overhead framework kurang sepadan untuk server use case. Pertimbangkan Observer pattern sederhana atau Combine (jika Linux-compatible Combine tersedia)
  • Synchronous notification yang tidak boleh melewati run loop — @Observable menjadwalkan notifikasi perubahan secara asynchronous melalui SwiftUI update cycle