Kotlin Multiplatform 샘플
이 페이지는 Kotlin Multiplatform의 견고하고 독특한 애플리케이션 사례를 보여주기 위해 엄선된 프로젝트 목록입니다.
현재 이 페이지에 대한 기여는 받지 않고 있습니다. 본인의 프로젝트를 Kotlin Multiplatform 샘플로 소개하려면 GitHub에서 kotlin-multiplatform-sample 토픽을 사용하세요. 프로젝트에 토픽을 추가하는 방법은 GitHub 문서를 참조하세요.
일부 프로젝트는 사용자 인터페이스(UI)를 위해 Compose Multiplatform을 사용하여 거의 모든 코드를 공유합니다. 다른 프로젝트들은 사용자 인터페이스에 네이티브 코드를 사용하고, 예를 들어 데이터 모델과 알고리즘만 공유하기도 합니다. 완전 새로운 Kotlin Multiplatform 애플리케이션을 직접 만들려면 웹 위저드(web wizard) 사용을 권장합니다.
kotlin-multiplatform-sample 토픽을 통해 GitHub에서 더 많은 샘플 프로젝트를 찾을 수 있습니다. 생태계 전체를 살펴보려면 kotlin-multiplatform 토픽을 확인해 보세요.
JetBrains 공식 샘플
| 이름 | 설명 | 공유 항목 | 주요 라이브러리 | 사용자 인터페이스 |
| 공식 KotlinConf 애플리케이션 | KotlinConf를 위한 동반 애플리케이션입니다. Android, iOS, 데스크톱 및 웹용 클라이언트 애플리케이션은 Compose Multiplatform을 사용하여 공유 UI로 구축되었습니다. 백엔드 애플리케이션은 Ktor 서버 사이드 프레임워크와 Exposed 데이터베이스 라이브러리로 구동됩니다. |
|
|
|
| Image Viewer | 사진 캡처, 보기 및 저장 기능을 제공하는 애플리케이션입니다. 지도 지원이 포함되어 있습니다. UI에 Compose Multiplatform을 사용합니다. KotlinConf 2023에서 소개되었습니다. |
|
|
|
| Chat | SwiftUI 인터페이스 내에 Compose Multiplatform 컴포넌트를 임베딩하는 방법을 보여주는 데모입니다. 온라인 메시징 유스케이스를 다룹니다. |
|
| |
| Jetcaster Multiplatform | Compose 샘플인 Jetcaster 앱을 멀티플랫폼으로 만든 버전으로, 기존 Android 버전에 iOS 및 데스크톱 타겟을 추가했습니다. UI는 Compose Multiplatform을 사용하도록 마이그레이션되었으며, 여러 라이브러리가 멀티플랫폼 버전이나 대안으로 교체되었습니다. 마이그레이션 이유와 과정은 Jetcaster 마이그레이션 튜토리얼에 설명되어 있습니다. |
|
|
|
| KMM RSS Reader | Kotlin Multiplatform이 실제 프로덕션에서 어떻게 사용될 수 있는지 보여주기 위해 설계된 RSS 피드 구독 샘플 애플리케이션입니다. UI는 네이티브로 구현되었지만, iOS와 데스크톱에서 Compose Multiplatform을 사용하는 방법을 보여주는 실험용 브랜치가 있습니다. 네트워킹은 Ktor HTTP 클라이언트를 사용하며, XML 파싱은 네이티브로 구현되었습니다. UI 상태(UI State) 공유를 위해 Redux 아키텍처를 사용합니다. |
|
|
|
| Kotlin Multiplatform Sample | 간단한 계산기 애플리케이션입니다. expected 및 actual 선언을 사용하여 Kotlin과 네이티브 코드를 통합하는 방법을 보여줍니다. | 알고리즘 |
|
추천 샘플
| 이름 | 설명 | 공유 항목 | 주요 라이브러리 | 사용자 인터페이스 |
| Confetti | Kotlin Multiplatform 및 Compose Multiplatform의 다양한 측면을 보여주는 쇼케이스입니다. 컨퍼런스 일정 정보를 가져와서 표시하는 애플리케이션입니다. Wear 및 Auto 플랫폼 지원을 포함합니다. 클라이언트-서버 통신에 GraphQL을 사용합니다. 아키텍처는 KotlinConf 2023에서 심도 있게 다루어졌습니다. |
|
|
|
| People In Space | Kotlin Multiplatform이 실행될 수 있는 다양한 플랫폼을 보여주는 쇼케이스입니다. 현재 우주에 있는 사람 수와 국제 우주 정거장(ISS)의 위치를 보여줍니다. |
|
|
|
| Sessionize / Droidcon | Sessionize API를 사용하여 Droidcon 행사 일정을 확인하는 애플리케이션입니다. Sessionize에 강연 정보를 저장하는 모든 행사에 맞춰 커스터마이징할 수 있습니다. Firebase와 연동되므로 실행하려면 Firebase 계정이 필요합니다. |
|
|
|
| KaMPKit | Kotlin Multiplatform 개발을 위한 코드 및 도구 모음입니다. Kotlin Multiplatform 애플리케이션을 구축할 때의 라이브러리, 아키텍처 선택 및 베스트 프랙티스를 보여주기 위해 설계되었습니다. 강아지 품종 정보를 다운로드하고 표시하는 유스케이스를 다룹니다. 이 비디오 튜토리얼에서 소개되었습니다. |
|
|
|
기타 커뮤니티 샘플
| 이름 | 설명 | 공유 항목 | 주요 라이브러리 | 사용자 인터페이스 |
| NYTimes KMP | Compose Multiplatform 기반의 New York Times 애플리케이션 버전입니다. 사용자가 기사를 검색하고 읽을 수 있습니다. 애플리케이션을 빌드하고 실행하려면 New York Times의 API 키가 필요합니다. |
|
|
|
| Focus Bloom | 생산성 및 시간 관리 애플리케이션입니다. 사용자가 할 일을 예약하고 성취도에 대한 피드백을 제공합니다. |
|
|
|
| Recipe App | 레시피를 보기 위한 데모 애플리케이션입니다. 애니메이션 사용법을 보여줍니다. |
|
|
|
| D-KMP-sample | Kotlin MultiPlatform 아키텍처를 활용한 선언형 UI(Declarative UIs with Kotlin MultiPlatform architecture)의 샘플 애플리케이션입니다. 여러 국가의 백신 접종 통계를 가져와 표시하는 유스케이스를 다룹니다. |
|
|
|
| Notflix | The Movie Database의 데이터를 소모하여 현재 트렌드, 개봉 예정, 인기 영화 및 TV 쇼를 표시하는 애플리케이션입니다. The Movie Database의 API 키 생성이 필요합니다. |
|
|
|
| Twine - RSS Reader | Twine은 Kotlin과 Compose Multiplatform을 사용하여 구축된 멀티플랫폼 RSS 리더 앱입니다. 피드를 탐색하기 위한 멋진 UI와 경험을 제공하며 Material 3 콘텐츠 기반 동적 테마를 지원합니다. |
|
|
|
| Shopping By KMP | Kotlin으로 여러 플랫폼 간에 UI를 공유하기 위한 선언형 프레임워크인 Jetpack Compose Multiplatform을 사용하여 구축된 크로스 플랫폼 애플리케이션입니다. 사용자는 Android, iOS, 웹, 데스크톱, Android Automotive 및 Android TV에서 쇼핑 카탈로그의 제품을 검색, 조회 및 구매할 수 있습니다. |
|
|
|
| Music App KMP | 다양한 플랫폼에서 MediaPlayer와 같은 네이티브 API와 상호작용하는 방법을 보여주는 애플리케이션입니다. Spotify API를 사용하여 데이터를 가져옵니다. |
|
|
|
| Rijksmuseum | Rijksmuseum은 암스테르담의 유명한 레이크스 미술관(Rijksmuseum)의 예술 작품 컬렉션을 몰입감 있게 탐색할 수 있는 멀티모듈 Kotlin 및 Compose Multiplatform 앱입니다. Rijksmuseum API를 활용하여 이미지와 설명을 포함한 다양한 예술 작품에 대한 상세 정보를 가져와 표시합니다. |
|
|
|
