Kotlin Multiplatform

  • MPP, multiplatform project

  • 다중 플랫폼간 코드 공유. KMM을 사용하면 Android, iOS 간에 비즈니스 로직 등의 공통 코드를 공유할 수 있음.

cross-platform code

  • commonMain 디렉토리에 expect 로 정의해두고 각 플랫폼 코드에서 actual 로 구현해두면 됨

    (jvmMain, jsMain, nativeMain)

  • 테스트도 commonTest 에 한번만 작성해둘수 있음 → 이미 actual 을 통해 인터페이스가 있으므로 가능해짐

  • 플랫폼 개별 테스트는 jvmTest 하위에 둘 수 있음

  • maven-publish 를 사용하면 각 타겟에 따라 자동으로 생성함 (Android 제외)

    • Android는 추가 구성이 필요함 (ref)

    • Maven

    • CocoaPods

    • NPM?

Kotlin Multiplatform Mobile (KMM)


  • native

  • app?

  • jvm

  • library