You are currently viewing KMM(Kotlin multi platform):

KMM(Kotlin multi platform):

An approach to creating multi-platform apps, currently supporting Android and IOS.

Now that we already have React Native and Flutter, the first question is what does it offer that makes it different and will stand out and get a user base as well?

With React Native we build the UI and the business logic in the JS code, however handling the UI and support to both platforms from the JS code becomes a headache, Since both the platforms are updating and changing their modules and APIs from time to time. It becomes overwhelming for the React Native, modules are not updated at the same pace, which makes it quite a cumbersome deal to make things work in both platforms whenever either of them has a new version released.

At this point KMM comes in a different way, It provides an approach to handle the UI in the native code i.e. Kotlin/Java and Swift respectively, and allows handling the business logic as shared code. With this, the pain of managing UI for both at the same place is gone and business logic can be separated and built in a single place.

The advantage it provides is that the apps with extremely dynamic UIs and content delivery can now build their UI/UX using the native code and the business logic in a single place. The ultimate purpose of having the hybrid app building approach is to build a project in a short time and cut the cost, but with other approaches, it is a quite difficult task to maintain and scale up things as soon their new versions of the respective platforms are available where they deprecate some core APIs and add new features, the modules are not available as soon as there are changes in native platforms.

With KMM it is quite easy to make changes in the respective code base and do the update for the native code. For vast apps, this comes as a savior to save time and cost and the same place effectively keeping the standard and content delivery pace. It also makes the scaling process seamless, adding new features and updating the existing ones are far easier than in other approaches.

submitted by /u/naxtre10
[link] [comments]