App size best practices
Generally speaking, since Kotlin and Swift are both fairly static languages, there is not much difference between the binary size of a Kotlin class and a Swift class. So, what's the catch?
As you may recall from Chapter 2, Exploring the Three Compilers of Kotlin Multiplatform, we discussed how your Obj-C/Swift code can see this native output of the Kotlin/Native compiler by generating Obj-C adapters. Since Obj-C is a more dynamic language, it negatively impacts binary size.
So, what can you do to manage binary size? The simple answer is to limit how many Obj-C adapters you use. How? Mark everything that you don't need to expose through your shared code as internal.
If you notice that your binary size has increased in a non-linear, exponential...