Multiplatform

Kotlin Multiplatform이 안정화되어 이제 프로덕션에서 사용할 수 있습니다

Read this post in other languages:

오랫동안 기다리시던 소식을 전해 드립니다. 개발자가 네이티브 프로그래밍의 이점을 유지하면서 플랫폼 간에 코드를 공유할 수 있도록 하기 위해 JetBrains가 구축한 오픈 소스 기술인 Kotlin Multiplatform이 안정화 버전이 되었으며 이제 프로덕션에 사용할 준비를 완벽하게 마쳤습니다.

Kotlin Multiplatform(KMP)의 발전 과정과 이를 통해 개발 프로세스를 간소화하는 방법, 이 기술을 최대한 활용할 수 있도록 도와주는 교육 자료에 대해 알아보세요.

시작하기

자신 있게 원하는 방식으로 코드를 공유하세요

유연성과 적응성에 중점을 두고 설계된 Kotlin Multiplatform(KMP)은 크로스 플랫폼 개발과 네이티브 개발 간의 경계를 허뭅니다. 이를 통해 개발자는 원하는 만큼 코드를 재사용하고, 필요에 따라 네이티브 코드를 작성하며, 공유 Kotlin 코드를 모든 프로젝트에 원활하게 통합할 수 있습니다.

처음 출시된 이후 KMP는 그 유연성 덕분에 Netflix, Philips, McDonald’s, 9GAG, Baidu 등 많은 유수 기업의 관심을 끌었습니다. 이미 많은 팀이 점진적으로 통합 가능하며 도입 시 위험도가 낮은 KMP의 이점을 활용하고 있습니다. 어떤 팀은 기존 Kotlin 코드에서 분리된 매우 중요한 부분을 공유하여 앱의 안정성을 개선합니다. 다른 팀은 앱 품질을 저하시키지 않으면서 최대한 많은 코드를 재사용하는 데 목표를 두고, 기본 UI를 유지하면서 모바일, 데스크톱, 웹, TV에서 모든 애플리케이션 로직을 공유합니다.

KMP 알파 출시 이후 프로덕션에서 널리 사용되면서 JetBrains는 광범위한 피드백을 수집하고 다음을 포함하여 안정화 버전에서 더 나은 멀티플랫폼 개발 환경을 제공하기 위해 기술을 개선하고 있습니다.

엄격한 호환성 보장

Kotlin Multiplatform 기술의 핵심에는 컴파일러 지원, 언어 기능, 라이브러리 API, IDE, 빌드 도구와 같은 많은 부분이 있습니다. 이 모든 요소가 가장 널리 사용되는 코드 공유 사용 사례를 반영하여 Kotlin 1.9.20에서 안정화되었습니다. ‘안정화’란 엄격한 호환성 규칙에 따라 해당 부분을 개선하여 사용자가 해당 코드에서 마음 놓고 사용할 수 있다는 의미입니다.

이러한 핵심 요소뿐만 아니라 KMP에는 현재 작업이 진행 중인 한층 발전된 기능도 있습니다. expect/actual 클래스는 이러한 기능의 예입니다(Kotlin 1.9.20에서 완전히 안정화된 expect/actual 함수와 혼동하지 마세요). 이러한 기능은 명시적으로 안정화되지 않았다고 표시되며 사용할 수 있게 되면 Kotlin에서 알려 드릴 예정입니다. 프로젝트에서 이러한 기능을 사용할지 여부에 대해 현명한 판단을 내리려면 실험적 단계임을 나타내는 경고와 해당 문서를 잘 살피세요.

사용자의 빌드 설정 경험 개선

프로젝트 설정과 유지 관리를 단순화하기 위해 디폴트 계층 구조 템플릿을 도입했습니다. Kotlin Gradle 플러그인의 이 새로운 기능은 널리 사용되는 시나리오에 맞게 Kotlin 소스 집합을 자동으로 구성하고 일반적인 빌드 스크립트에서 상용구의 양을 줄입니다.

빌드 구성 문제와 오류를 진단하는 데 도움이 되도록 KMP는 안정화 버전에서 몇 가지 개선 사항을 제공합니다.

  • Kotlin Gradle 플러그인에는 약 50개의 진단 기능이 추가되어 일반적인 빌드 문제를 발견하고 해결 방법에 대한 빠른 팁을 제공합니다.
  • Xcode에서 Gradle 오류가 보다 효과적으로 출력되어 프로젝트의 네이티브 부분에서 발생하는 빌드 문제를 더 쉽게 발견할 수 있습니다.

빌드 및 런타임 성능 개선

기타 안정성 및 견고성 개선 외에도 JetBrains는 KMP의 성능을 지속적으로 개선하고 있습니다.

이러한 모든 개선에 힘 입어 Kotlin Multiplatform은 가장 보수적인 사용 시나리오에서도 Android, iOS, 데스크톱(JVM), 서버 측(JVM) 및 웹 전반에서 프로덕션 코드를 공유하는 데 아무 걸림돌 없이 사용할 수 있습니다.

Kotlin Multiplatform 시작하기

성장하는 Kotlin Multiplatform 에코시스템의 힘을 활용하세요

Kotlin Multiplatform의 발전은 기술 자체에만 국한되지 않고 전 세계 수천 명의 Kotlin 개발자가 육성하며 번성하고 있는 에코시스템으로 확장됩니다. 베타 이후 KMP 라이브러리의 수가 배가되어 네트워킹, 데이터 스토리지, 산술, 분석 등을 위한 다양한 도구가 제공됨에 따라 안심하고 빠르게 앱을 개발할 수 있게 되었습니다.

Google의 Android 팀은 실험적인 Jetpack 라이브러리의 멀티플랫폼 버전을 제공하여 KMP 사용자를 계속 지원하고 있으며 이미 Collections, DataStore, Annotations 및 Paging 라이브러리를 Kotlin Multiplatform과 호환되도록 만들었습니다.

KMP 에코시스템은 또한 iOS 개발자 경험을 위한 다양한 도구도 제공하며, 특히 Touchlab의 SKIE가 눈에 띕니다. SKIE는 중요한 Kotlin 타입을 서로 연결하고 원활한 코루틴 상호 운용성을 구현하는 Swift 친화적인 API 레이어를 제공하는 Swift 코드를 생성합니다.

Compose Multiplatform으로 더욱 자유롭게 코드를 공유하세요

JetBrains의 최신 선언적 크로스 플랫폼 UI 프레임워크인 Compose Multiplatform은 끊임없이 확장되는 KMP 에코시스템에서 중요한 부분을 차지합니다. Compose Multiplatform을 사용하여 이제 완전한 코드 공유의 유연성을 누릴 수 있습니다. 프로젝트 및 팀의 요구 사항에 따라 로직의 한 부분, 모든 애플리케이션 로직 또는 로직과 UI 모두를 공유하세요.

Android 및 데스크톱(JVM)용 Compose Multiplatform은 이미 안정화 단계이며, iOS에 대한 지원은 현재 알파 단계이고 웹(Wasm) 지원은 실험적 단계입니다.

Kotlin Multiplatform의 미래 살펴보기

JetBrains는 Kotlin을 플랫폼 간 코드 공유를 위한 최고의 도구로 만들기 위해 계속해서 Kotlin을 사용한 멀티플랫폼 개발을 개선하고 있습니다.

  • 핵심 Kotlin Multiplatform 기술에 대한 향후 업데이트를 통해 Kotlin에서 Swift로의 직접적인 상호 운용성과 SwiftPM 지원을 포함해 iOS 개발자 경험이 개선될 것입니다.
  • iOS용 Compose Multiplatform의 다음 목표는 2024년 베타 지원입니다.
  • JetBrains는 KMP를 통한 현대적 웹 개발을 촉진하기 위해 Kotlin/Wasm을 적극적으로 개발하고 있으며, 내년에 웹용 Compose Multiplatform(Wasm)의 알파 버전을 제공한다는 목표를 갖고 있습니다.

이게 전부가 아닙니다. 앞으로 몇 주 동안 Kotlin Multiplatform 도구의 진화에 관한 흥미로운 발표가 있을 예정이니 계속 주목해 주세요!

Kotlin Multiplatform 시작하기

포괄적이고 사용자 친화적인 교육 자료를 이용해 여정을 시작하세요.

Kotlin Multiplatform 웨비나 11월 시리즈에 참여하여 JetBrains 전문가로부터 직접 인사이트을 얻으세요! Kotlin Multiplatform 기능을 살펴보고, 네이티브 UI와 공유 UI를 모두 사용하여 KMP 앱을 빌드하고, iOS 개발을 위한 팁과 요령을 알아보세요.

웨비나 등록하기

새로운 Kotlin Multiplatform 개발 포털에서 Kotlin Multiplatform 및 Compose Multiplatform을 사용하여 앱을 빌드하기 위한 모든 측면을 다루는 상세한 문서, 시작 가이드 및 단계별 튜토리얼을 제공합니다.

Kotlin Multiplatform 시작하기

게시물 원문 작성자

Jessie Cho

Ekaterina Petrova

image description

Discover more