환경 설정 (Kotlin 멀티플랫폼)

Kotlin 멀티플랫폼 (KMP)을 사용하면 여러 플랫폼에서 Kotlin 코드를 공유할 수 있습니다. KMP로 앱 빌드를 시작하기 전에 이 문서에 설명된 대로 환경을 설정해야 합니다. Jetbrain의 공식 문서를 참고할 수도 있습니다.

필수 도구 설치 또는 업데이트

  • Android 스튜디오의 최신 정식 버전을 설치하거나 업데이트합니다.
  • Android 스튜디오와 함께 번들로 제공되는 Kotlin 플러그인을 최신 버전으로 업데이트하여 호환성 문제를 방지합니다.
  • (선택사항) iOS 개발의 경우 Xcode를 설치하여 UI를 빌드하고 필요에 따라 Swift 또는 Objective-C 코드를 추가합니다.

Kotlin 멀티플랫폼 프로젝트 만들기

Jetbrains의 Kotlin 멀티플랫폼 마법사를 사용하여 새 KMP 프로젝트를 만들 수 있습니다. UI를 네이티브로 유지하려면 Do not share UI 옵션을 선택해야 합니다.

프로젝트 구조

KMP 프로젝트는 Android 프로젝트와 유사한 프로젝트 구조를 따릅니다.

KMP 프로젝트에는 공유 모듈과 함께 플랫폼별 모듈이 포함되어 있습니다. 플랫폼별 코드를 관련 모듈에 추가합니다. 예를 들어 Android 앱 UI를 androidApp 모듈에 추가하고 iOS 앱 UI를 iosApp에 추가합니다. 플랫폼 간에 공유하려는 코드는 공유 모듈로 이동합니다.

공유 모듈은 프로젝트의 나머지 부분과 마찬가지로 Gradle을 빌드 시스템으로 사용합니다. 소스 세트를 사용하여 공통 및 플랫폼별 종속 항목을 선언할 수 있습니다. 예를 들어 앱에서 네트워킹에 Ktor를 사용하는 경우 Android의 OkHttp 종속 항목과 iOS의 darwin 종속 항목을 추가해야 합니다. 일부 라이브러리는 공통 종속 항목만 필요하고 플랫폼별 종속 항목은 필요하지 않습니다.

sourceSets {
   commonMain.dependencies {
       //put your multiplatform dependencies here
       //...
       implementation(libs.ktor.client.core)
       implementation(libs.ktor.client.content.negotiation)
       implementation(libs.ktor.serialization.kotlinx.json)
       //...
   }
   androidMain.dependencies {
       implementation(libs.ktor.client.okhttp)
   }
   iosMain.dependencies {
       implementation(libs.ktor.client.darwin)
   }
}

앱의 공유 모듈에 새 라이브러리를 추가할 때는 각 플랫폼에 필요한 종속 항목이 있는지 확인해야 합니다.