[KMP] KMP, KMM?

panax·2023년 11월 29일
0

KMP

목록 보기
1/1
post-thumbnail

🍕KMP, KMM?

JetBrains에서 만든 크로스 플랫폼 기술
코드 하나로 여러 플랫폼을 개발할 수 있어서 개발이 빨라진다.
네이티브 코드의 이점을 동시에 갖는 것이 목적이라고 한다.

KMM(Kotlin Multiplatform Mobile)은 KMP(Kotlin MultiPlatform)에서 파생된 모바일에 특화된 플랫폼이다.

🥗현황

공식 홈페이지에서 알려주는 상태는 다음과 같다.

Best effort는 대부분의 시나리오에서는 안전하지만 이슈가 생길수도 있는 상태라고 한다.

가장 큰 관심사인 안드로이드와 iOS는 안정화 상태고 데스크탑과 서버도 안정화인 것을 보면 사용 중에 큰 이슈는 없을 것으로 보인다.

다만 UI의 경우는 조금 다른데 공식에서 알려주는 현황은 다음과 같다.

안드로이드는 Compose가 정식 버전이 나온지 꽤 되어서 문제가 없지만, iOS와 웹은 Compose로 작업하기에는 힘들 것으로 보인다.
예상 외로 데스크탑 버전은 안정화가 되었다.

🥨예시

🥯안드로이드 + iOS

가장 메이저한 사용법

안드로이드하고 iOS는 UI 개발 방식이 다른데 Compose Multiplatform을 사용하면 동시에 개발이 가능하다고 한다.

🍞데스크탑 어플리케이션

KMP를 사용해 윈도우, 맥OS, 리눅스 환경의 앱을 개발하는 것이 가능하다.

JetBrains에서 만든 Toolbox 앱도 KMP로 만들어졌다고 한다.

🧇서버

Ktor 프레임워크를 사용해 서버를 개발할 수 있다고 한다.

🍛코드 공유 방식

다음 개발 매커니즘을 따른다고 한다.

  • 공통 코드는 모든 플랫폼에서 사용할 수 있다.
  • iosArm64처럼 일부 플랫폼에 속한 코드는 iosX64 같은 비슷한 플랫폼에서 사용할 수 있다.

🥣소감

앱 개발을 하다 보면 서버나 웹도 같이 하면 좋다고 생각했는데 KMP를 사용하면 가능할 것 같다.

웹의 UI를 Compose로 아직 못 만드는 것은 아쉽다.

🍭링크

공식 소개
현황
튜토리얼

코드 공유 방식

profile
안드로이드 개발자

0개의 댓글