Kotlin CrossPlatform App 개발 세팅

1 분 소요

Kotlin Multiplatform

KotlinJetBrains에서 개발한 최신 프로그래밍 언어로,

Android 앱 개발에 있어서 Java를 대체하며 큰 인기를 얻고 있다.

처음에는 Java를 대체할 JVM(Java Virtual Machine) 위에서 동작하는 언어로 시작되었지만,

이후 Kotlin/NativeKotlin/JS를 통해 다양한 플랫폼에서도 작동을 지원한다.

아직 Beta 단계이지만 Kotlin Multiplatform을 활용해 iOS, Android, macOS, Windows, Linux, watchOS

에서 Kotlin App 구동을 지원하고 있다

오늘은 이 Kotlin Multiplatform 환경 설정을 진행해볼 예정이다.


Compose Multiplatform 설치

Compose Multiplatform은 Jetpack Compose을 기반으로 한,

Kotlin의 Multiplatform간에 UI 프레임워크이다.

Jetpack Compose를 기반으로하여, Android는 Stable하지만, iOS는 아직 Alpha 단계라고 한다.

iOS, Android 개발 환경 설정이 목표라 Compose Multiplatform Mobile App 설치를 진행한다

Required Environment 설치

본인은 MacOS 기준에서 설치를 진행함을 밝히고,

Compose Multiplatform Mobile App 설치를 위해 아래 4가지 필수 환경요소들을 먼저 설치한다.

kdoctor로 확인

위 4 가지 환경요소 설치 후, 아래 KDoctor를 명령어로 설치해,

필수 환경들이 잘 설치되었는지 검사한다.

$ brew install kdoctor

$ kdoctor

미설치된 환경이 존재할 경우 위 사진 처럼 표시 및 설치 안내 제공


CrossPlatform App init

이제 필수 환경설정을 마쳤으니, CrossPlatform App을 생성해본다.

Android Studio

먼저 설치한 Android Studio를 실행한다.

그 후 New Project에서 Kotlin Multiplatform App으로 신규 Project를 생성한다.

생성할 프로젝트 Application의 이름을 지정하고 Next로 생성해준다.

마지막으로 Kotlin Multiplatform App에서 Android, iOS에서 사용할 Application Name을 지정하고 마무리한다.

Project Structure

생성된 Project에는 androidMain, commonMain, iosMain 세 디렉토리가 존재하고,

각 Directory 별로 commonMain : Kotlin Cross Platform Main, androidMain : android Platform Main, iosMain : ios Platform Main

기능을 수행한다.


Run

이제 생성한 Project를 Android, IOS Device에서 실행해본다.

두 Platform 모두 Android Studio 에서 진행한다

Android

기본적으로 별도의 설정 없이 바로 Android Studio에서 Device Manager에 Android Device를 추가해 실행시킬 수 있다.

애초에 Kotlin, Multiplatform Framework의 기반인 Jetpack Compose는 Android 용이므로

iOS

Android Studio에서 Project 생성 시 Multiplatform 으로 생성해,

기본적으로 iOS Run Configuration이 생성되어 있다.

RunConfiguration이 지정되어 있지 않다면 위 사진과 같이 RunConfiguration을 지정한다

Execution target 미존재 시

최초 XCode를 생성한 Project의 iOSAppName 프로젝트 경로까지, 한번 Open하고 구동하면 정상적으로 확인된다


여기까지 간단하게 Kotlin Multiplatform 환경 설정을 해보았다.

공식문서를 살펴보면 조금더 자세한 설명이 확인 가능하니 참고하는 것을 추천한다.

댓글남기기