
Building interfaces with SwiftUI finally feels like the write way to build for Apple's platforms. Declarative syntax that actually makes sense, real-time previews that work (most of the time), and the ability to target iPhone, iPad, Mac, and Vision Pro with the same codebase are amazing. The only real catch is that newer SwiftUI features get tied to specific OS versions, so a shiny new SwiftUI option might require bumping minimum version requirements. Mac users tend to stick with older macOS versions longer than iPhone users upgrade iOS and while a new SwiftUI API is available to 80% of your iPhone users it might only be available to 40% of your Mac users. The result can be lots of #if checks everywhere, maintaining parallel code paths, or just accepting that your app will feel a generation behind for a while. It's the dark side of "write once, run everywhere" when "everywhere" has different update cycles and user behaviors.