> It could — and really should — have been easier, especially considering SwiftUI has had three major updates since it was announced in 2019.

Apple (and Next) have been iterating on AppKit for three decades. The UIKit fork of AppKit for iOS is a decade and a half old.

Expecting the same level of polish in SwiftUI after three years is a bit overoptimistic.

Apple has said that SwiftUI is "where the puck is going" so you can expect that they will keep on iterating on it for many years to come.

Jetpack Compose (Google's alternative on Android, that also works pretty much anywhere you can run a JVM and others like the web [1], terminals[2], powerpoints[3], iOS[4] if you squint, as well as pretty much anywhere you have an imperative API that you want to transform into a functional model[5]) is three years old and is infinitely more polished and has better tools than anything Apple has put out in all of SwiftUI's existence. Apple is bringing this upon themselves with their "major updates" concept for SwiftUI coming every other year, where components aren't even available on old versions of iOS. A UI toolkit is a library like any other, version it like a library and match patch releases.

[1] https://compose-web.ui.pages.jetbrains.team/

[2] https://github.com/JakeWharton/mosaic

[3] https://github.com/fgiris/composePPT

[4] https://touchlab.co/compose-ui-for-ios/

[5] https://github.com/googlemaps/android-maps-compose