Petar Marijanović

Kotlin Multiplatform - True power of native code reuse

Their first attempt at sharing 25% of their code failed spectacularly. Their second attempt, sharing 80%, succeeded. Discover the counterintuitive key to adopting Kotlin Multiplatform.

Kotlin Multiplatform - True power of native code reuse
#1about 7 minutes

Exploring the benefits of multi-platform mobile development

Multi-platform development accelerates delivery and reduces costs by using a single codebase, test suite, and bug list for both Android and iOS.

#2about 8 minutes

Comparing Kotlin Multiplatform to other frameworks

Kotlin Multiplatform offers native performance and immediate access to new platform features, avoiding the common drawbacks of other cross-platform solutions.

#3about 6 minutes

An initial architecture for sharing pure functions

The first attempt involved a reactive clean architecture that shared only 25% of the code as pure functions to minimize risk.

#4about 5 minutes

Discovering critical challenges in Kotlin Native

Key implementation blockers included the strict memory management model, threading issues with coroutines on iOS, and limitations with generics.

#5about 5 minutes

A revised architecture sharing everything but the UI

The successful solution involved sharing 80% of the code, including the entire business logic and presentation layers, to minimize jumps between native and shared code.

#6about 2 minutes

Key takeaways for starting with Kotlin Multiplatform

Developers should deeply understand Kotlin Native's strict memory model, be aware of coroutine limitations, and build a thorough proof of concept before starting a project.

#7about 2 minutes

Future plans for the open source architecture

The team plans to integrate a dependency injection framework like Koin, improve thread-bound object scoping, and release the architecture as an open source project.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.