Google @ KotlinConf 2024: KMP를 사용한 멀티플랫폼 개발 이야기 등

5월 23, 2024
Murat Yener Developer Relations Engineer

모바일, 웹, 서버 및 데스크톱 플랫폼에서 비즈니스 로직 공유를 위해 Kotlin Multiplatform(KMP)을 권장한 최근 Google I/O 발표와 Google Workspace에서 KMP를 사용하기로 한 결정에 이어 KotlinConf 2024가 중요한 내용을 공유하고 Kotlin 커뮤니티와 소통할 수 있는 다음 기회의 장이 되었습니다.

JetBrains에서 개발한 Kotlin Multiplatform을 사용하면 개발자가 최신 메모리 관리 언어의 모든 기능을 활용하면서 Kotlin 코드를 플랫폼 네이티브 바이너리로 컴파일하여 교차 플랫폼 앱을 개발할 수 있습니다. Google Workspace 팀은 이 접근 방식에 장기적으로 투자해 왔으며 서로 다른 플랫폼 간에 비즈니스 로직을 공유할 수 있게 되었습니다.

Android 팀은 KMP를 지원하기 위해 노력해 왔고 최근에는 KMP를 지원하는 Room 알파 버전을 출시했습니다. 현재 Annotations, Collections, DataStore에서 안정적으로 KMP를 지원합니다. 또한 Android 이외 플랫폼과의 통합을 허용하기 위해 Lifecycle, ViewModel 및 Paging 라이브러리를 공통화했습니다.


기조연설 및 기술 세션

KotlinConf는 기조연설로 막을 열었습니다. 기조연설에는 Google의 Jeffrey van Gogh가 Kotlin 생태계에 대한 Google의 기여에 대해 개괄적으로 설명하는 내용이 있었습니다. 연설에서 Jeffrey는 Google이 Kotlin Multiplatform(KMP)을 활용하여 자체 제품 포트폴리오 전반에서 개발을 간소화하는 방법을 상세히 설명했습니다. 또한 그는 Android 앱 개발에 대한 최신 권장 사항에 발맞춰 KMP가 Google 프로젝트에 제공하는 효율성 및 코드 공유의 장점을 강조했습니다.

KotlinConf 2024의 기술 세션에서는 다음과 같은 다양한 주제를 다루었습니다.

  • John Pampuch가 진행한 A Tale of Two Languages(두 언어 이야기)는 Java와 Kotlin의 진화를 흥미롭게 비교하면서 두 언어의 공생 관계와 상호 영향력을 강조했습니다.

  • Elif Bilgin, Yigit Boyar, Daniel Santiago Rivera가 대표로 나온 Android Jetpack 팀은 Enabling Kotlin Multiplatform Success: The Android Jetpack Journey(Kotlin Multiplatform 성공 지원: Android Jetpack 탐색 여정)를 공개했습니다. Jetpack에서의 현재 KMP 상태에 대한 유용한 정보를 제공하고, KMP 사용 Jetpack 라이브러리에 대한 업데이트를 공유하고, 잘 확립된 Jetpack 라이브러리를 KMP로 마이그레이션하는 과정을 살펴보았습니다.

  • Andrei Shikov가 진행한 Going Fast with Kotlin(Kotlin으로 빠르게 가기)에서는 Compose for Android 최적화에서 얻은 귀중한 인사이트를 공유했습니다. Andrei는 Kotlin의 흥미로운 성능상의 미묘함과 Compose 팀이 최적의 성능을 보장하기 위해 설정한 가드레일에 주목했습니다.

  • Jason Parachoniak이 진행한 Kotlin Multiplatform in Google Workspace(Google Workspace의 Kotlin Multiplatform)에서는 KMP를 더욱 광범위하게 채택하는 Google의 행보에 맞춰 Google Workspace가 Java 지향 멀티플랫폼 기반에서 Kotlin Multiplatform으로 지속적으로 마이그레이션하는 상황에 대해 논의했습니다. Jason은 이 원대한 전환의 현황과 교훈을 공유했습니다.

  • Android Studio 엔지니어링 디렉터 Tor Norbye가 진행한 Write Your Own Kotlin Lint Checks!(나만의 Kotlin Lint 검사 작성하기!)에서는 개발자가 자신만의 검사를 만들어 수백만 명이 사용하는 정적 분석 도구인 Android Lint를 확장할 수 있는 방법을 소개했습니다. 이름은 Android Lint이지만 실제로는 Android 전용이 아니고 Google 내부에서 서버 Kotlin 및 Java 코드를 분석하는 데도 사용됩니다!


KotlinConf의 커뮤니티 참여

저희는 항상 Kotlin 커뮤니티에 적극적으로 참여할 방법을 모색하고 있습니다. KotlinConf에 참석하셨다면 저희 부스에 들러 엔지니어와 대화하고, 궁금한 점에 대한 답을 얻고, Kotlin과 KMP를 활용하는 방법에 대해 자세히 알아볼 기회를 가지셨기를 바랍니다.


KMP에 대해 자세히 알아보기

또한 KMP에서 업데이트된 문서와 새로운 모바일 샘플을 볼 수 있습니다. 이러한 리소스에는 KMP 학습을 시작하는 데 필요한 내용이 포함되어야 하며, 의견이 있거나 문제가 발생한 경우 이 링크를 통해 공유해 주시기 바랍니다.


전망

저희는 Kotlin의 미래에 큰 기대를 걸고 있으며 더 많은 AndroidX 라이브러리에 KMP 지원을 추가할 계획입니다. 개발자 여러분이 어떻게 KMP를 사용하여 차세대 앱을 채택하고 개발할지 정말 기대됩니다.

이 행사를 개최하고 Kotlin 애호가들을 한자리에 모아주신 KotlinConf 주최측과 발표자, 참석자, 전체 Kotlin 커뮤니티에 감사한 마음을 전합니다.