Kotlin 멀티플랫폼 개요

Kotlin 멀티플랫폼 (KMP)을 사용하면 여러 플랫폼에서 Kotlin 코드를 공유할 수 있습니다. Kotlin 멀티플랫폼은 JetBrains에서 개발한 것으로, KMP를 사용하여 모바일 플랫폼을 타겟팅하는 것은 안정적이고 프로덕션에 즉시 사용할 수 있습니다.

멀티플랫폼 Jetpack 라이브러리

Kotlin 멀티플랫폼은 Android와 iOS 간에 비즈니스 로직을 공유하기 위해 Google에서 공식적으로 지원합니다. 많은 Jetpack 라이브러리가 KMP를 활용하도록 이미 이전되었습니다.

다음 Jetpack 라이브러리는 KMP 지원을 제공합니다.

Maven 그룹 ID 최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전 문서
annotation(*) 2024년 10월 30일 1.9.1 - - -
collection 2024년 11월 13일 1.4.5 - - 1.5.0-alpha06
Datastore 2024년 5월 1일 1.1.1 - - - 문서
lifecycle(*) 2024년 11월 13일 2.8.7 - - 2.9.0-alpha07
paging(*) 2024년 11월 13일 3.3.4 - - -
room 2024년 10월 30일 2.6.1 - - 2.7.0-alpha11 문서
sqlite 2024년 10월 30일 2.4.0 - - 2.5.0-alpha11 문서

API의 플랫폼 가용성을 보여주는 마커

이러한 라이브러리의 참조 문서에서는 일반 코드, Android, 네이티브의 가용성을 기준으로 API를 표시합니다. 각 페이지 상단에서 플랫폼별로 선언을 필터링할 수도 있습니다.

kotlin-multiplatform-samples GitHub 저장소에서는 이러한 라이브러리의 일부 기능을 볼 수 있습니다.

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

지원되는 플랫폼

공식적으로 지원되는 플랫폼인 Android 및 iOS용 Jetpack 라이브러리 출시는 동일한 품질 및 호환성 요구사항을 유지합니다. 하지만 Jetpack의 Kotlin 멀티플랫폼 지원을 다른 플랫폼으로 확장하기 위해 노력하고 있으므로 도구 및 인프라 지원은 아직 진행 중일 수 있습니다.

각 플랫폼의 현재 지원 수준은 다음과 같이 요약할 수 있습니다.

Tier 1:

  • CI에서 완전히 테스트됨(호스트 측 테스트 및 기기 내 테스트 모두 포함)
  • 시맨틱 버전 관리 정책에 따른 소스 및 바이너리 호환성 추적

Tier 2:

  • CI에서 부분적으로 테스트됨. 호스트 측 테스트로 제한됨
  • 소스 또는 바이너리 호환성 추적 없음

Tier 3:

  • CI에서 테스트되지 않음
  • 소스 또는 바이너리 호환성 추적 없음
플랫폼 지원 수준
Android Tier 1
JVM Tier 1
iOS Tier 1
macOS 등급 2
watchOS Tier 3
tvOS Tier 3
Linux 등급 2
Windows Tier 3
WASM Tier 3

도구 지원

Android 스튜디오에서 멀티플랫폼 프로젝트를 열고, 수정하고, 실행할 수 있습니다. 단, 이들 프로젝트에서는 아직 일부 IDE 기능을 사용할 수 없습니다. 새 프로젝트를 만들려면 JetBrainsKotlin 멀티플랫폼 마법사를 사용하세요.

Google에서는 Android Gradle 플러그인이 Kotlin 멀티플랫폼과 호환되도록 새 버전의 핵심 시나리오를 테스트하고 있습니다.