Kotlin Multiplatform 로드맵
Kotlin Multiplatform 로드맵은 Kotlin Multiplatform 프로젝트의 우선순위와 전반적인 방향에 대한 개요를 제공합니다.
최신 로드맵 블로그 게시물은 2024년 10월 28일에 게시되었습니다. 아래 페이지는 이를 요약하며, 선언된 이정표에 도달하거나 전략 변경을 반영해야 할 때마다 업데이트됩니다.
- 2025년 2월 14일, 로드맵은 Kotlin Multiplatform 툴링 – 변화의 시작 블로그 게시물에 설명된 변경 사항을 반영하도록 업데이트되었습니다.
Kotlin Multiplatform의 목표는 Kotlin 로드맵과 밀접하게 연관되어 있습니다. 우리가 나아가는 방향에 대한 더 많은 맥락을 이해하려면 반드시 확인해 보세요.
주요 우선순위
- iOS용 Compose Multiplatform 안정화: iOS 타겟을 안정적인 릴리스로 이끄는 것은 기본 프레임워크 개선과 iOS 고유의 통합 및 벤치마크 개선을 모두 포함합니다.
- IntelliJ 기반 IDE에서 멀티플랫폼 개발 지원 강화: Kotlin Multiplatform 및 Compose Multiplatform에 최적화된 환경을 제공합니다.
- Kotlin-to-Swift 내보내기의 첫 공개 버전 출시. 초기 릴리스에서는 기존 Objective-C 내보내기와 유사한 경험을 제공하고, 향후 Swift 내보내기를 완벽하게 활용할 수 있는 기반을 마련하는 것을 목표로 합니다.
- 더 나은 도구와 가이드를 제공하여 멀티플랫폼 라이브러리 생성 경험 개선.
klib
형식을 더 유연하고 강력하게 개선하고, 멀티플랫폼 라이브러리 생성을 위한 더 나은 템플릿과 지침을 제공할 것입니다. - Amper를 멀티플랫폼 모바일 개발에 적합하도록 만듭니다. 2025년에는 Amper가 Compose Multiplatform을 사용하여
UI
코드를 공유하는 것을 포함하여 iOS 및 Android용 멀티플랫폼 개발을 완벽하게 지원해야 합니다.
자주 묻는 질문과 답변은 FAQ 섹션에서 찾을 수 있습니다.
Compose Multiplatform
Compose Multiplatform의 중점 분야는 다음과 같습니다.
- Jetpack Compose 기능 동등성(feature parity). 모든 핵심 API와 컴포넌트가 멀티플랫폼을 지원하도록 보장합니다.
- iOS 렌더링 성능. 회귀를 포착하고 프레임워크의 성능을 사용자에게 투명하게 공개하기 위한 벤치마킹 인프라를 구현합니다.
- 핵심 컴포넌트 기능 완성도. 다음을 포함한 필수 기능을 완료합니다.
- 내비게이션
- 리소스 관리
- 접근성
- 국제화
- 프레임워크 전반의 안정화. Compose Multiplatform 미리보기를 통해 사용자 경험을 향상시키면서 전반적인 안정성(Compose와 네이티브 뷰 간의 상호 운용성 포함)을 개선합니다.
- 문서화. 사용자가 Compose Multiplatform을 학습하고 사용하는 데 필요한 모든 리소스를 한곳에서 제공합니다.
- 웹용 Compose Multiplatform. 다른 지원 플랫폼과 기능 동등성을 달성합니다.
Compose HTML 관련 계획이 있나요?
Compose HTML 라이브러리의 버그를 수정하며 유지 보수를 계속하는 동시에, 기존 사용자들 사이에서의 사용 사례를 탐색하여 향후 개발 계획을 수립할 수 있도록 노력하고 있습니다.
툴링
Kotlin Multiplatform이 IntelliJ IDEA 및 Android Studio와 같이 KMP
개발에 이미 일반적으로 사용되는 IDE와 원활하게 통합되도록 하여, 프로젝트 내부 또는 프로젝트 간에 코드를 더 쉽게 공유할 수 있도록 하는 것을 목표로 합니다.
개발 경험을 향상시키기 위한 새로운 영역도 탐색하고 있습니다.
- Apple 기기에 편리하게 접근할 수 없는 개발자를 돕기 위해 클라우드 머신을 사용하여 iOS 앱을 빌드하는 방안을 연구합니다.
- 코드 생성뿐만 아니라 더 복잡한 개발 작업에서도 도움을 줄 수 있도록 AI 도구 통합을 심층적으로 실험합니다.
Kotlin-to-Swift 내보내기
2025년 우리의 목표는 직접적인 Kotlin-to-Swift 내보내기의 첫 공개 버전을 출시하는 것입니다. 초기 릴리스는 기존 Objective-C 내보내기와 유사한 사용자 경험을 제공하면서 Objective-C의 제약 사항을 극복하는 것을 목표로 합니다.
이를 통해 Swift 언어 지원이 확대되고 API 내보내기가 용이해지며, 향후 Swift 내보내기를 완벽하게 활용하기 위한 기반이 마련될 것입니다.
라이브러리 에코시스템
Kotlin Multiplatform 에코시스템이 빠르게 확장됨에 따라 라이브러리의 하위 호환성을 보장하는 것이 중요해지고 있습니다. 다음은 우리가 계획하고 있는 내용입니다.
- 라이브러리 생성자가
JVM
라이브러리 구축 지식을 활용할 수 있도록klib
형식을 개선합니다. - Kotlin Multiplatform 라이브러리에서도
JVM
에서와 동일한 코드 인라이닝 동작을 구현합니다. - 멀티플랫폼 라이브러리의
public API
가 하위 호환성을 유지하도록 보장하는 도구를 제공합니다.
또한 Kotlin Multiplatform 라이브러리의 게시 프로세스를 개선하고자 합니다. 다음을 목표로 합니다.
KMP
라이브러리 생성 및 게시를 위한 템플릿과 포괄적인 가이드라인을 제공합니다.- 다양한 플랫폼에서의
klib
교차 컴파일을 안정화합니다. - 완전히 재설계된
KMP
라이브러리 게시 프로세스를 시작합니다. - 라이브러리 문서화 프로세스를 대폭 개선합니다.
Kotlin Multiplatform은 중요한 업데이트를 받겠지만, 현재 형식으로 빌드된 라이브러리는 최신 Kotlin 버전에서도 계속 작동할 것입니다.
멀티플랫폼 라이브러리 검색 개선
현재 2,500개 이상의 Kotlin Multiplatform 라이브러리가 사용 가능합니다. 그러나 방대한 선택의 폭에도 불구하고, 개발자들이 특정 요구 사항을 충족하고 선택한 플랫폼을 지원하는 라이브러리를 찾는 것은 어려울 수 있습니다.
우리의 목표는 이러한 라이브러리 발견을 용이하게 하고 개발자가 쉽게 사용해 볼 수 있도록 하는 솔루션을 도입하는 것입니다.
Amper
Amper는 JetBrains의 실험적인 프로젝트 구성 및 빌드 도구입니다. 2025년에는 Amper가 Android 및 iOS용 멀티플랫폼 모바일 앱 개발에 완전히 적합하도록 만드는 데 집중할 것이며, Compose Multiplatform UI
를 공유할 수 있도록 할 것입니다.
우리는 다음을 지원하는 것을 목표로 합니다.
- 로컬, 실제 기기 및
CI
환경 내에서 애플리케이션 실행 및 테스트. - 애플리케이션 서명 및 Play 스토어와 App 스토어에 게시.
- 원활하고 즐거운 경험을 보장하기 위한 IDE 통합.
Gradle 및 기타 빌드 도구
2025년을 내다보며, Gradle 개선 작업은 Kotlin 로드맵에 설명되어 있습니다.
특히 Kotlin Multiplatform과 관련하여 작업할 주요 영역은 다음과 같습니다.
- 프로젝트 수준에서 Kotlin Multiplatform 종속성을 선언하는 것을 지원합니다. 이를 통해 개발자들이 프로젝트 종속성을 효과적으로 관리하기가 더 쉬워질 것입니다.
- Kotlin/Native 툴체인을 Gradle에 통합하는 것을 개선합니다.
- 멀티플랫폼 라이브러리를 위한 차세대 배포 형식을 구현합니다. 이를 통해 멀티플랫폼 라이브러리의 종속성 모델과 게시 레이아웃이 단순화되어 타사 빌드 도구와 함께 사용하기가 더 쉬워지고 라이브러리 작성자의 복잡성이 줄어듭니다.
- 선언적 Gradle에서 Kotlin Multiplatform을 완벽하게 지원합니다. 선언적 Gradle을 지원하는
Experimental Kotlin Ecosystem Plugin
에 대한 우리의 작업은 개발자들이 Gradle 빌드에 대한 선언적 접근 방식을 탐색하는 데 도움이 되는 것을 목표로 합니다.
- 이 로드맵은 팀이 작업하는 모든 것을 망라하는 목록이 아니라, 가장 큰 프로젝트들만을 담고 있습니다.
- 특정 버전에서 특정 기능이나 수정 사항을 제공하겠다는 약속은 없습니다.
- 우리는 진행 상황에 따라 우선순위를 조정하고 로드맵을 업데이트할 것입니다.
FAQ
IntelliJ IDEA에서 KMP 지원을 수정할 수 있나요?
우리는 IntelliJ IDEA에서 훌륭한 KMP
경험을 제공하는 것의 중요성을 인지하고 있습니다. KMP 툴링에 대한 블로그 게시물에서 언급했듯이, 우리는 IntelliJ 플랫폼 전체에 대한 KMP
지원을 강화하는 데 전적으로 집중할 것입니다.
여기에는 품질 및 안정성 개선과 특정 기능 도입이 포함되어, 멀티플랫폼 개발을 위해 IntelliJ IDEA를 선호하는 개발자들이 선호하는 IDE에서 완벽한 KMP
지원을 누릴 수 있도록 할 것입니다.
Android Studio의 KMP 지원은 어떤가요?
우리는 Android Studio에서 KMP
지원을 개선하기 위해 Google과 적극적으로 협력하고 있습니다. 더 자세한 계획은 추후 공개될 예정입니다. 계속 지켜봐 주세요!
현재 KMP 개발에 권장되는 IDE는 무엇인가요?
주 사용 사례가 모바일인 경우, Android Studio를 사용하는 것을 권장합니다. 우리는 또한 IntelliJ IDEA에서 훌륭한 지원을 제공하기 위해 노력하고 있습니다.
IntelliJ IDEA와 Android Studio에서 Swift를 사용할 수 있나요?
Swift는 특정 KMP
시나리오의 중요한 부분이며, 우리는 이러한 사용 사례를 지원하기 위해 노력하고 있습니다.
웹을 포기하는 건가요?
아니요, 우리는 웹을 전혀 포기하지 않습니다! 우리는 다른 플랫폼과 기능 동등성(feature parity)을 달성하기 위해 웹용 Compose Multiplatform뿐만 아니라 Kotlin/Wasm
지원에도 적극적으로 노력하고 있습니다.
현재 우리는 드래그 앤 드롭 지원 구현, 텍스트 입력 및 렌더링 개선, 그리고 HTML 콘텐츠와의 원활한 상호 운용성 보장에 주력하고 있습니다. 웹에 대한 더 자세한 계획은 곧 공유하겠습니다. 계속 지켜봐 주세요!
Compose HTML은 어떤가요?
Compose HTML 라이브러리의 버그를 수정하며 유지 보수를 계속하는 동시에, 기존 사용자들 사이에서의 사용 사례를 탐색하여 향후 개발 계획을 수립할 수 있도록 노력하고 있습니다.