Optional means the tech is designed to be used along with the native tech. Most cross-platform frameworks allow you to integrate them into existing apps, but are generally not designed to make that easy.
The optional sharing nature means it is easy to evaluate KMP in your existing apps. The optional sharing nature makes KMP low-risk.
Kotlin was designed to interop with the JVM directly, and Kotlin Native has been designed to use LLVM to produce actual “native” code.
For iOS, the Kotlin compiler outputs an Xcode Framework that Objective-C and Swift can communicate with directly.
Most new languages and platforms are developed as open source. Not only does open source significantly reduce the risk of debugging issues, but it also allows the community to participate in the platform development.
To help ensure good public direction and guidance, Jetbrains and Google, along with other industry representatives, created the Kotlin Foundation to help steer future Kotlin direction.
This is important. For libraries, support, training, hiring, etc. The ecosystem you pick needs to be popular. Having a very small ecosystem introduces it’s own form of risk.
Kotlin Multiplatform is currently small, but growing very rapidly. It is very unlikely to lose momentum now. There will be an early adopter impact, but there’s also an early adopter opportunity.
Kotlin is a changing platform, attempting to incorporate lessons from other languages and ecosystems. This will mean better productivity and safety, and a longer “shelf life” for the ecosystem as a whole. It is a future-proofed ecosystem.
One of my own favorite quotes is: “The history of shared UI has a lot of pain and failure. The history of shared logic is the history of computers.”
Speaking of native mobile specifically, Android and iOS are very similar under the hood. If the tooling was great, and the integration was seamless, it would be crazy not to create a shared codebase for at least some of the logic and architecture of applications.
Why this is a unique moment in mobile development history
A framework for evaluating popular multiplatform mobile solutions
Why Kotlin Multiplatform (KMP) is the most flexible and least risky solution for your mobile development team
Tyler Turnbull
Mobile, The Walt Disney Company
Angel Rodriguez
Mobile, Watsco