JetBrains / compose-multiplatform

Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
https://jetbrains.com/lp/compose-multiplatform
Apache License 2.0
15.24k stars 1.11k forks source link

Documentation on moving existing Android & IOS production app to KMP state #4947

Open UKMIITB opened 2 weeks ago

UKMIITB commented 2 weeks ago

I have a use case where I have a native Android & a native IOS app already in production. Both of these are large application codebase & is in a multi module structure.

For Android part -> Majority is in kotlin & compose but some module uses XML & kotlin. And we also have one module which uses React Native. For IOS part -> It uses UIKit & in written in swift.

For newer version we want to write the code once using kotlin & compose & reuse it in IOS.

Want clarity on following points as couldn't find relevant document on it

  1. How to convert a multi module android app to KMP project structure
  2. React Native is used in Android. And RN stays at root structure. Can this be shifted to KMP ?
  3. Current Android code is not fully KMP compatible. So is it possible that native IOS exist & slowly screen by wise or module by module or flow by flow shared codebase is introduced in IOS & rest native IOS code exist & continue to run. If yes, is there a documentation on this ? Will it be like IOS codebase is moved to single common repo & in iosApp package of KMP

Our app has a very large user base (more than 50 million downloads) & we want to shift our entire codebase to Kotlin multi platform & compose multi platform team. Is there a way to work on this in collaborative manner with compose team itself ?