# Maximizing Shared Code in Kotlin Multiplatform Apps

DevFeed: [Maximizing Shared Code in Kotlin Multiplatform Apps](<https://devfeed.tech/articles/the-art-of-multiplatform-programming-the-secret-to-maximizing-shared-code-34121.md>)

Original publisher: [Read original article](<https://artandscienceofcoding.com/science/kmm-maximizing-shared-code/>)

Author: Derek Lee

Published: 2022-10-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [art and science of coding](<https://devfeed.tech/sources/art-and-science-of-coding.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Dependency Inversion](<https://devfeed.tech/topics/dependency-inversion.md>), [Maintainability](<https://devfeed.tech/topics/maintainability.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [dependency-inversion](<https://devfeed.tech/tags/dependency-inversion.md>), [dependency-inversion-principle](<https://devfeed.tech/tags/dependency-inversion-principle.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [programming](<https://devfeed.tech/tags/programming.md>), [science](<https://devfeed.tech/tags/science.md>)

## AI overview

This tutorial explains how to maximize shared code in Kotlin Multiplatform applications for iOS and Android. It recommends isolating platform dependencies behind a platform-independent interface and using Dependency Injection and the Dependency Inversion Principle to improve maintainability and reusability.

## Source excerpt

TL/DR; - Writing your platform-dependent code for iOS or Android requires first understanding the platform API dependencies to help you craft a shared platform-independent interface. - Isolate platform dependencies to the smallest surface area possible to increase maintainability and reusability. - Leveraging Dependency Injection (DI) and the Dependency Inversion Principle (DIP) is key to effective multiplatform programming.