KMP with CMP
KMP와 CMP 적용 계기
2026.03.15 - [그 외의 개발 공부] - KMP
KMP
KMP(Kotlin Multiplatform)란?하나의 Kotlin 코드베이스로 여러 플랫폼(Android, iOS, Web, Desktop, Server)을 타겟팅할 수 있게 해주는 멀티플랫폼 SDK비즈니스 로직만 공유하고 UI는 각 플랫폼의 네이티브 방식을
positecoding.tistory.com
2026.03.15 - [그 외의 개발 공부] - CMP
CMP
CMP(Compose Multiplatform)란?Jetpack Compose의 UI 선언형 방식을 Android 외 플랫폼(iOS, Desktop, Web)으로 확장한 기술Jetbrains가 개발한 Kotlin 기반의 멀티플랫폼 UI 프레임워크 주요 특징선언형 UI (Declarative UI) : J
positecoding.tistory.com
위의 두 개발 방식을 조사하면서 이 둘을 같이 적용해서 앱을 개발하면 Flutter나 React Native로 개발하는 것 처럼 빠르게 Android, iOS 앱을 개발할 수 있다고 생각하여 간단한 앱을 만들어 보기로 하였다.
먼저 Project 구성이다. Android Studio의 Plugin을 이용하여 Kotlin Multiplatform 프로젝트를 간편하게 구성하였다. Share UI 설정을 이용하여 Compose로 UI를 구현할 것이다.



프로젝트 생성 후 다음과 같이 프로젝트가 구성되었으며, 에뮬레이터 실행 또한 잘 되었다.


이후, agp 버전 9 이상부터 deprecated 되는 build.gradle.kts의 android{}을 제거하기 위해 kotlin에 넣었으며, Activity를 위해 androidApp 모듈로 android를 분리하였다. androidApp에서는 단순히 compseApp의 App()을 받아오기만 하고 expect/actual은 여전히 composeApp에서 구현한다.



참고한 블로그