Kotlin 멀티플랫폼
Kotlin 멀티플랫폼을 사용하여 여러 플랫폼에서 실행되는 단일 코드베이스를 작성하세요.
Kotlin 멀티플랫폼 (KMP)은 Android와 iOS 간에 비즈니스 로직을 공유하기 위해 Google에서 공식적으로 지원합니다. Kotlin Multiplatform은 안정적이고 프로덕션에 즉시 사용할 수 있습니다. JetBrains의 Compose Multiplatform (CMP)를 사용하면 개발자가 플랫폼 간에 UI를 공유할 수도 있습니다.
과정
Kotlin 멀티플랫폼 기본사항
지금 바로 멀티 플랫폼 개발 여정을 시작하세요. 이 학습 과정에서는 프로젝트 설정, 코드 공유, 플랫폼별 API 사용부터 Room 데이터베이스를 Kotlin 멀티플랫폼으로 이전하는 것까지 Kotlin 멀티플랫폼의 필수 사항을 안내합니다.
Android 스튜디오 플러그인
Kotlin 멀티플랫폼 플러그인
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에서 빌드
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일 |
||||
|
탐색
문서 |
2025년 9월 24일 |
||||
| navigation3 |
2025년 10월 22일 |
||||
| navigationevent |
2025년 10월 8일 |
||||
| paging |
2025년 9월 10일 |
||||
|
room
문서 |
2025년 10월 22일 |
||||
| savedstate |
2025년 10월 22일 |
||||
|
sqlite
문서 |
2025년 9월 24일 |
이러한 라이브러리에 관한 의견이 있으면 Issue Tracker를 통해 공유해 주세요.
도구 지원
Android 스튜디오에서 멀티플랫폼 프로젝트를 열고, 수정하고, 실행할 수 있습니다.
KMP 모듈 마법사
Android 스튜디오 내에서 KMP 공유 모듈을 만들어 KMP로의 마이그레이션을 시작할 수 있습니다. 이 모듈은 Android 및 iOS 앱 개발을 시작하는 데 필요한 모든 플러그인(Android-KMP 플러그인 포함)을 자동으로 적용합니다.
JetBrains Compose 멀티플랫폼의 실시간 편집
실시간 편집은 Android 기기에서 빌드할 때
androidMain뿐만 아니라 프로젝트 내의 코드를 수정할 때 작동합니다.
JetBrains의 Compose Multiplatform 미리보기
Jetpack Compose 미리보기는
commonMain 소스 세트에서 JetBrains의 Compose 멀티플랫폼에도 사용할 수 있습니다.
Kotlin 멀티플랫폼으로 빌드된 앱
이미 많은 앱에서 Kotlin 멀티플랫폼을 성공적으로 사용하고 있습니다.
Blinkit
Cash App
Duolingo
Forbes
Google Docs
JioHotstar
돌
Swiggy
Ultrahuman
Wrike
Zomato
지원되는 플랫폼
공식적으로 지원되는 플랫폼(Android 및 iOS)용 Jetpack 라이브러리 버전은 동일한 품질 및 호환성 요구사항을 유지합니다. 하지만 Jetpack의 Kotlin 멀티플랫폼 지원을 다른 플랫폼으로 확대하기 위해 노력하고 있으므로 도구 및 인프라 지원은 아직 개발 중일 수 있습니다.
Tier 1
코드는 호스트 측 테스트와 기기 내 테스트를 모두 포함하여 CI에서 완전히 테스트됩니다. Google은 시맨틱 버전 관리 정책에 따라 소스 및 바이너리 호환성을 추적합니다.
- Android
- JVM
- iOS
Tier 2
코드가 CI에서 부분적으로 테스트됩니다. 호스트 측 테스트로 제한됩니다. 소스 또는 바이너리 호환성은 추적하지 않습니다.
- macOS
- Linux
Tier 3
코드가 CI에서 테스트되지 않았습니다. 소스 또는 바이너리 호환성 추적이 없습니다.
- watchOS
- tvOS
- Windows
- 자바스크립트
- WASM
추가 리소스
전반적인 멀티플랫폼 생태계 및 고급 구성에 관한 자세한 내용은 공식 Kotlin 멀티플랫폼 문서를 참고하세요.
Kotlin 멀티플랫폼 샘플
Android 및 iOS용 Jetpack 라이브러리를 사용하는 방법을 보여주는 Kotlin Multiplatform 샘플 세트입니다.
Kotlin 멀티플랫폼 시작하기
프로젝트에 KMP를 추가하는 방법에 관한 온보딩 안내
Room을 Kotlin 멀티플랫폼으로 이전
Android 전용 Room을 KMP로 안내에 따라 이전
심층 가이드
자세한 안내는 Kotlinlang.org의 Kotlin 멀티플랫폼 문서 허브에서 확인할 수 있습니다.
Kotlin 멀티플랫폼의 정의, 작동 방식, 사용 시 이점을 알아봅니다.