Since 2020, the D-KMP repository has been a go-to reference for those of us who wanted to share business logic in Kotlin Multiplatform (KMP) without giving up the benefits of native UIs: Jetpack Compose on Android and SwiftUI on iOS.
๐ฑ Even though Compose Multiplatform is now stable for Android, iOS, desktop, and even webโand we can now use a single stack (including UI) with KMPโthe D-KMP approach still makes a lot of sense.
Why? Because many apps need to get the most out of each platform. Because SwiftUI and Compose offer a more integrated user and design experience within their ecosystems. Because separating shared logic from presentation gives you more flexibility and easier testing. And because there are still cases where Compose Multiplatform doesnโt fit or isnโt viable in productionโdue to performance, integration with native APIs, or specific project limitations.
๐ Thatโs why itโs unfortunate that D-KMP will no longer be maintained. It has been a clear and solid guide to structuring modern multiplatform projects with patterns like MVI, unidirectional data flow, StateFlow, and shared navigationโall with a well-documented and coherent structure.
โ ๏ธ The repo will remain available but will no longer receive updates:
๐ D-KMP architecture – official sample
๐ Thanks to Daniele Baroncelli for this work.
Many of us still consider it a perfectly valid architecture in 2025.