"Developing mobile apps is notoriously expensive when you consider the amount of development, testing, and engineering time they require. Cross-platform toolkits have been gaining in popularity for years, as they allow teams to save time and money, which can be better spent on creating great products.
For me, Compose and Kotlin Multiplatform are game-changers as you gain all of the benefits of code sharing across platforms and using a modern reactive UI toolkit, while also enjoying all the advantages of KMP: seamless integration with ‘native’ frameworks/SDKs where needed and native performance.
Cross-platform UI has gotten a bad reputation over the past few years, with a number of high-profile apps ditching their cross-platform solutions in favor of writing everything ‘natively’. Part of this is due to the way that some toolkits work, biasing toward some platforms over others, and leading to bad UX or performance on those platforms.
The hardest part in writing cross-platform is making it feel native. That doesn’t necessarily mean using native-looking components, but more subtle things like scroll friction, gesture handling, motion flourishes (e.g. overscroll), animation curves, interaction feedback, touch bounds, and text sizes, to name but a few. Flutter has done a great job at emulating these things from iOS for instance, and it’s something I hope Compose Multiplatform will follow. It’s early days, though!"