Welcome to KMP Bits
RSS FeedYour go-to spot for Kotlin Multiplatform tips, mobile dev insights, and clean architecture.
Featured
-
KMP Splash: How I Stopped Opening Xcode for Splash Screens
The pit crew was always there. I just had to build it: a Gradle plugin that automates iOS and Android splash screen setup from a single config block.
-
Drop the Clutch: Three Metro DI Patterns Every KMP Developer Should Know
Metro drops the clutch on runtime DI errors. Three patterns in a real KMP app: binding contributions, platform graphs, and child scopes.
-
Clean Lap: UI Testing in Compose Multiplatform
Before the car hits the grid, telemetry confirms every sector. Before your UI ships, runComposeUiTest confirms every composable.
-
Under the Hood: How Compose and SwiftUI Handle What Happens Off-Screen
Same engine, different cockpit: how Compose and SwiftUI handle side effects when sharing a Kotlin Multiplatform ViewModel.
Recent Bits
-
Safety Car: Coroutine Exception Handling in KMP
An uncaught coroutine exception crashes your KMP app on both platforms, and the platform safety nets don't extend to iOS. Here's how I build crash boundaries in commonMain.
-
Warm Tyres: Image Loading and Caching in Compose Multiplatform with Coil 3
Tyre warmers keep rubber at temperature so the car has grip the instant it leaves the box. Coil 3's memory and disk cache do the same for images — and the same code now runs on Android and iOS from commonMain.
-
Through the Lens: Barcode Scanning in Compose Multiplatform
expect/actual isn't just for business logic. Here's how to build a shared barcode scanner Composable that reads through any platform's lens.
-
Homologated: Publishing Your Kotlin Multiplatform Library to Maven Central
Before a race car can compete, it needs to be homologated. Before your KMP library can be used by anyone, it needs Maven Central.