In the previous chapter, we discussed that the interoperability quality of shared code is a key aspect of multiplatform development. To explore this interoperability quality, we need to examine how the three different backend compilers of Kotlin – Kotlin/JVM, Kotlin/Native, and Kotlin/JS – work. This will help you manage your expectations regarding the performance, future, and interoperability of Kotlin with the different platforms, which will help you leverage the potential of KMP.
By the end of this chapter, you will have a clearer picture of how the aforementioned compilers work, what interoperability constraints you'll have when working with them, and how to leverage their power.
In this chapter, we're going to cover the following topics:
- Kotlin compilers in general
- The Kotlin/JVM compiler
- The Kotlin/Native compiler
- The Kotlin/JS compiler