Kotlin 멀티플랫폼을 사용하여 여러 플랫폼에서 실행되는 단일 코드베이스를 작성하세요.

Kotlin 멀티플랫폼 (KMP)은 Android와 iOS 간에 비즈니스 로직을 공유하기 위해 Google에서 공식적으로 지원합니다. Kotlin Multiplatform은 안정적이고 프로덕션에 즉시 사용할 수 있습니다. JetBrains의 Compose Multiplatform (CMP)를 사용하면 개발자가 플랫폼 간에 UI를 공유할 수도 있습니다.

과정
지금 바로 멀티 플랫폼 개발 여정을 시작하세요. 이 학습 과정에서는 프로젝트 설정, 코드 공유, 플랫폼별 API 사용부터 Room 데이터베이스를 Kotlin 멀티플랫폼으로 이전하는 것까지 Kotlin 멀티플랫폼의 필수 사항을 안내합니다.
Android 스튜디오 플러그인
Android 스튜디오 내에서 개발 환경을 개선하려면 JetBrains에서 개발한 Kotlin Multiplatform Android 스튜디오 플러그인을 설치하는 것이 좋습니다.
  • 새 프로젝트 마법사: IDE 내에서 새 멀티플랫폼 프로젝트를 만듭니다.
  • 프리플라이트 검사: 프리플라이트 검사를 통해 환경을 구성할 수 있습니다.
  • 실행 구성: IDE에서 직접 iOS와 Android 모두에서 애플리케이션을 실행, 디버그, 테스트합니다.
  • IDE의 기본 Swift 지원: 교차 언어 디버깅 도구, 탐색, 빠른 문서를 비롯한 IDE의 기본 Swift 지원을 받으세요.

Kotlin 멀티플랫폼의 이점

Kotlin 멀티플랫폼을 사용하면 핵심 비즈니스 로직부터 전체 애플리케이션까지 플랫폼 간에 공유할 항목을 선택할 수 있습니다. 다음은 주요 이점입니다.
복잡한 비즈니스 로직을 각 플랫폼에서 복제할 필요가 없습니다.
Kotlin Multiplatform을 사용하면 플랫폼 간에 코드를 공유하기 위해 전체 애플리케이션을 다시 작성할 필요가 없습니다.
Kotlin 멀티플랫폼은 대상 플랫폼이 코드를 실행하는 네이티브 방식으로 컴파일되므로 네이티브 구현과 동일한 성능을 제공합니다.

Kotlin 멀티플랫폼 및 Jetpack 라이브러리

많은 Jetpack 라이브러리가 이미 KMP 지원으로 이전되었습니다. 다음 Jetpack 라이브러리는 KMP를 지원합니다.

Android 로고 Android에서 빌드 JetBrains 로고 JetBrains에서 빌드 지원되지 않음

라이브러리 최신 버전 Android iOS JVM
annotation 2025년 10월 22일
collection 2025년 8월 27일
compose 2025년 10월 22일
datastore

Documentation
2025년 10월 22일
수명 주기

문서
2025년 10월 22일
viewModel

문서
2025년 10월 22일
viewModel-compose

문서
2025년 10월 22일
paging 2025년 9월 10일
room

문서
2025년 10월 22일
savedstate 2025년 10월 22일
sqlite

문서
2025년 9월 24일

이러한 라이브러리에 관한 의견이 있으면 Issue Tracker를 통해 공유해 주세요.

도구 지원

Android 스튜디오에서 멀티플랫폼 프로젝트를 열고, 수정하고, 실행할 수 있습니다.
Android 스튜디오 내에서 KMP 공유 모듈을 만들어 KMP로의 마이그레이션을 시작할 수 있습니다. 이 모듈은 Android 및 iOS 앱 개발을 시작하는 데 필요한 모든 플러그인(Android-KMP 플러그인 포함)을 자동으로 적용합니다.
실시간 편집은 Android 기기에서 빌드할 때 androidMain뿐만 아니라 프로젝트 내의 코드를 수정할 때 작동합니다.
Jetpack Compose 미리보기는 commonMain 소스 세트에서 JetBrains의 Compose 멀티플랫폼에도 사용할 수 있습니다.

Kotlin 멀티플랫폼으로 빌드된 앱

이미 많은 앱에서 Kotlin 멀티플랫폼을 성공적으로 사용하고 있습니다.
Blinkit
Cash App
Duolingo
Forbes
Google Docs
JioHotstar
Swiggy
Ultrahuman
Wrike
Zomato

지원되는 플랫폼

공식적으로 지원되는 플랫폼(Android 및 iOS)용 Jetpack 라이브러리 버전은 동일한 품질 및 호환성 요구사항을 유지합니다. 하지만 Jetpack의 Kotlin 멀티플랫폼 지원을 다른 플랫폼으로 확대하기 위해 노력하고 있으므로 도구 및 인프라 지원은 아직 개발 중일 수 있습니다.
코드는 호스트 측 테스트와 기기 내 테스트를 모두 포함하여 CI에서 완전히 테스트됩니다. Google은 시맨틱 버전 관리 정책에 따라 소스 및 바이너리 호환성을 추적합니다.
  • Android
  • JVM
  • iOS
코드가 CI에서 부분적으로 테스트됩니다. 호스트 측 테스트로 제한됩니다. 소스 또는 바이너리 호환성은 추적하지 않습니다.
  • macOS
  • Linux
코드가 CI에서 테스트되지 않았습니다. 소스 또는 바이너리 호환성 추적이 없습니다.
  • watchOS
  • tvOS
  • Windows
  • 자바스크립트
  • WASM

추가 리소스

전반적인 멀티플랫폼 생태계 및 고급 구성에 관한 자세한 내용은 공식 Kotlin 멀티플랫폼 문서를 참고하세요.
Android 및 iOS용 Jetpack 라이브러리를 사용하는 방법을 보여주는 Kotlin Multiplatform 샘플 세트입니다.
프로젝트에 KMP를 추가하는 방법에 관한 온보딩 안내
Android 전용 Room을 KMP로 안내에 따라 이전
자세한 안내는 Kotlinlang.org의 Kotlin 멀티플랫폼 문서 허브에서 확인할 수 있습니다.
Kotlin 멀티플랫폼의 정의, 작동 방식, 사용 시 이점을 알아봅니다.