Groo

Kotlin Multiplatform 모듈 구조 살펴보기 본문

Kotlin Multiplatform

Kotlin Multiplatform 모듈 구조 살펴보기

김주엽 2024. 1. 14. 20:21

Kotlin Multiplatform 프로젝트를 생성하면 아래처럼 3가지 모듈(androidApp, iosApp, shared)도 함께 만들어진 것을 볼 수 있어요.

 

shared 모듈은 kotlin 모듈이며 gradle 빌드 시스템을 사용해요. 안드로이드, ios 애플리케이션에서 공통으로 사용하는 로직을 해당 모듈에서 관리해요. 또 shared 모듈 하위에는 3가지 모듈(androidMain, commonMain, iosMain)이 더 존재 하는데요.

 

commonMain 모듈에서는 순수 kotlin으로만 코드를 작성할 수 있어요. androidMain 모듈에서는 안드로이드 플랫폼 라이브러리도 사용해서 코드를 작성할 수 있어요. 반대로 iosMain 모듈에서는 ios 플랫폼 라이브러리를 사용해서 코드를 작성할 수 있죠.

 

shared 모듈이 안드로이드 라이브러리로 빌드될 때면 commonMain의 코드가 kotlin/jvm으로 ios 라이브러리로 빌드될 때면 kotlin/native로 처리되어 빌드 돼요.

다시 앞으로 돌아와서 androidApp 모듈은 kotlin 모듈로 gradle 빌드 시스템을 사용하고 안드로이드 애플리케이션을 빌드해요.

shared 모듈을 의존하고 shared 모듈 내에 포함되어 있는 코드를 참조해요.

 

iosApp 모듈은 XCode 프로젝트이며 ios 애플리케이션을 빌드해요. 역시 shared 모듈을 의존하고 이를 참조해요. 빌드 시스템으로는 여러분이 KMP 프로젝트를 최초로 생성할 때 선택했던 프레임워크를 사용해요.

 


글 작성시 참고한 문서

Comments