WeAreDevelopers LIVE Nov 3, 2021

Introducing Kotlin Multiplatform in an existing project

Marco Gomiero

Tired of writing the same mobile business logic twice? Learn how to gradually introduce Kotlin Multiplatform into your existing codebase, sharing non-UI code without a risky rewrite.

Pause
Mute Enter Fullscreen
#1 about 3 min

How Kotlin Multiplatform differs from cross-platform frameworks

KMP allows teams to share generic business logic layers instead of imposing a unified interface layer.

#2 about 7 min

Creating new Kotlin Multiplatform mobile application projects

The official Android Studio plugin provides necessary scaffolding to instantly generate correctly structured cross-platform repositories.

#3 about 5 min

Structuring KMP adoption in existing native projects

Deploying shared modules as independent external libraries circumvents the heavy refactoring required for monolithic architecture conversions.

#4 about 2 min

Scaffolding a standalone KMP shared logic library

A dedicated repository built in IntelliJ natively supports compilation into distinct AAR binaries and iOS frameworks.

#5 about 2 min

Publishing the shared logic library for Android

The Maven publish plugin handles routing the compiled JVM artifacts directly into local or external Android dependency managers.

#6 about 9 min

Packaging and distributing the iOS XCFramework bundle

Bundling device and simulator architectures into one target allows Cocoapods to seamlessly integrate dependencies for Xcode builds.

#7 about 3 min

Automating framework distribution workflows with Gradle tasks

Custom Gradle scripts automate checking out remote branches, compiling correct framework instances, and committing versioned podspec configurations.

#8 about 4 min

Handling thread concurrency and memory in Native

Legacy Kotlin Native models dictate that passing code references across threads requires explicit object freezing to enforce immutability.

#9 about 5 min

Validating infrastructure pipelines before extracting critical features

Migrating simple structural contracts like DTOs proves repository workflows safely function before introducing complex system extractions.

#10 about 2 min

Navigating concurrency limits and initial build setup

Advanced asynchronous concurrency paradigms and fragile Gradle dependencies remain the primary sources of initial implementation friction.

#11 about 3 min

Overcoming toolchain adoption friction for iOS teams

Aligning interdisciplinary teams ensures collaborative feature ownership rather than merely pushing native iOS processes into foreign ecosystem tooling.

#12 about 4 min

Evaluating cross-platform suitability based on hardware dependencies

Certain low-level operating components like bluetooth connectivity are better preserved as pure implementations isolated from core shared module deployments.

#13 about 2 min

Distinguishing Compose Multiplatform from native SwiftUI frameworks

Skia rendering approaches differ fundamentally from platform-abstracted wrapper libraries that leverage pure native interface elements.

#14 about 2 min

Managing UI automation and logic layer workflows

Engineers should write logic assertions inside the common module domain while sustaining isolated test coverage for visual interactions.

Matching moments

4:20 min

Solving cross-platform drawbacks with Kotlin Multiplatform

Petar Marijanović · LIVE

3:53 min

Key takeaways and future Kotlin Multiplatform improvements

Petar Marijanović · LIVE

1:34 min

Centralizing mobile business logic with Kotlin Multiplatform

Jens Posingies Jens Posingies +2 · WWC Europe 2026

4:43 min

Architectural boundaries and the Kotlin Multiplatform survival kit

Andrea Della Porta Andrea Della Porta · WWC Europe 2026

2:15 min

Developing front-end client applications using Kotlin Multiplatform libraries

Mario Bodemann Mario Bodemann

2:13 min

Planning a production application with Kotlin Multiplatform

Petar Marijanović · LIVE

Upcoming sessions on this topic

Open session

World Congress 2026 North America

From Cloud Native to Multi-Cloud Native: Write Once, Deploy Anywhere

Sandeep Pal

Principal Member of Technical Staff at Salesforce

Sandeep Pal
Open session

World Congress 2026 North America

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Bartosz Leczycki, Paweł Matynia

Bartosz Leczycki
Paweł Matynia
Open session

World Congress 2026 North America

Run your agents in Kubernetes: Build once, deploy anywhere. But really?

Michal Salanci

Senior Systems Engineer at ESET Cybersecurity

Michal Salanci
Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

Full Stack with Flutter - are we there yet?

Nemanja Stošić

Senior Flutter Developer

Nemanja Stošić
Open session

World Congress 2026 North America

Merging at Scale: From Broken Builds to Green Mainline

Preetam Dwivedi, Manjari Akella

Preetam Dwivedi
Manjari Akella