Apple Audio Frameworks: A Complete Guide to iOS and macOS Audio
Six layers of Apple audio framework, from AudioObject (raw hardware) up to AVPlayer (one-line playback). What each layer is for, and when to drop down.
Six layers of Apple audio framework, from AudioObject (raw hardware) up to AVPlayer (one-line playback). What each layer is for, and when to drop down.
map, filter, flatMap, reduce. Swift has them on Array. RxSwift has them on Observable. Combine has them on Publisher. The names line up, the chains look the same, and that surface similarity is exactly what makes mixing the three confusing. They are not the same thing.
Three things separate them: sync vs async, eager vs lazy, and whether values arrive over time. Errors, cancellation, threading, and testing all fall out of those.