Both Google and Apple have been making strides in their composable UI framework development -- JetPack Compose and SwiftUI, with Apple seemingly rewriting already part of their apps in SwiftUI.<p>Also, the overall frameworks available on both platform are evolving well in the direction of Swift and Kotlin, with some being available only there.<p>The question I would like to get the feedback of the community in is this: given the start of the implementation of a native app right now, would you comfortably go for the SwiftUI/Swift and Jetpack Compose/Kotlin or you would look at other options like React Native or Flutter with the customer experience and developer experience as the two main KPIs to deliver on. Would also be curious on why you would choose what you would choose.
You have to introduce ordering in your KPIs. If developer experience is more important, then you can get better results with cross platform. If user experience is more important, then you are virtually guaranteed to get better results with native. Personally I’m of the opinion that user experience should never be subordinate to developer experience, so at least for me the choice is clear: native.<p>Also consider whether you will benefit from a broad install base, i.e. when building a social app, or if you can go for one platform first. Lastly, I’d consider the stage your in, i.e, are you trying to find product market fit or not.<p>If native stills feels like a lot of extra work, I’d suggest building a common core, in e.g. Rust, to share non-UI code between the platforms.
This is hard to answer without knowing what kind of business you're building. A rough rule of thumb which I've said before is, if your business is highly or entirely dependant on mobile (often B2C apps) then go native and build for whichever platform is dominant in your region/industry first. The reason is to remove a dependency between your dev team and the target platform. The project I'm on right now went with SwiftUI/Jetpack Compose, I would use SwiftUI only if you can target the latest OS and stay far away from it on macOS. I haven't used it for a while but I've heard React Native has also gotten a lot better lately.
SwiftUI/Swift and Jetpack Compose/Kotlin for us - despite using react for other stuff, we find these native languages to be very nice to use and productive. Also, if you’re targeting a featured by Apple badge using their native technology is a huge plus vs react native.