HeadlinesBriefing favicon HeadlinesBriefing.com

Kotlin Multiplatform Production Review

DEV Community •
×

A Polish e-commerce developer spent a year migrating a large app to Kotlin Multiplatform (KMP) and shared honest results. They moved away from separate native Android (Kotlin) and iOS (Swift) codebases that caused duplicated logic and inconsistent bug fixes. The team adopted a layered architecture, sharing domain logic, repositories, networking, and local databases while keeping ViewModels and UI native.

This split solved their biggest pain point without fighting platform-specific user expectations. Surprises included handling Firebase SDK integration. Since Firebase is platform-specific, they used Kotlin's `expect`/`actual` mechanism to inject analytics and crash reporting into shared code.

Build times remained reasonable, a pleasant relief, but iOS developers faced a two-IDE reality: Xcode for native work and Android Studio for shared Kotlin. CI/CD required Git submodules to link platform repos to a shared core, adding versioning complexity. Their biggest regret was insufficient unit testing; a shared logic bug now breaks both platforms simultaneously.

Despite the friction, KMP delivered on its promise, reducing duplication and ensuring fixes apply everywhere. It is production-ready but demands strict architectural discipline and a willingness to adapt tooling. The developer stands by the choice, noting that respecting platform boundaries and testing rigorously are non-negotiable for success.