Kotlin Multiplatform のサンプル
Kotlin Multiplatform の堅牢かつユニークな活用方法を示すことを目的とした、厳選されたプロジェクトのリストです。
現在、このページへの貢献は受け付けておりません。 ご自身のプロジェクトを Kotlin Multiplatform のサンプルとして紹介したい場合は、GitHub で kotlin-multiplatform-sample トピックを使用してください。 プロジェクトをトピックで紹介する方法については、GitHub ドキュメントを参照してください。
一部のプロジェクトでは、ユーザーインターフェースに Compose Multiplatform を使用して、ほとんどのコードを共有しています。 その他では、ユーザーインターフェースにネイティブコードを使用し、例えばデータモデルとアルゴリズムのみを共有しています。 新しい Kotlin Multiplatform アプリケーションを作成するには、ウェブウィザードを使用することをお勧めします。
GitHub では、kotlin-multiplatform-sample トピックを使用して、さらに多くのサンプルプロジェクトを見つけることができます。 エコシステム全体を探索するには、kotlin-multiplatform トピックを確認してください。
JetBrains 公式サンプル
名前 | 説明 | 共有されているもの | 主なライブラリ | ユーザーインターフェース |
Image Viewer | 画像のキャプチャ、表示、保存を行うアプリケーションです。マップのサポートを含みます。UI に Compose Multiplatform を使用しています。KotlinConf 2023 で紹介されました。 |
|
|
|
Chat | Compose Multiplatform コンポーネントを SwiftUI インターフェース内に埋め込む方法を示すデモンストレーションです。ユースケースはオンラインメッセージングです。 |
|
| |
KMM RSS Reader | Kotlin Multiplatform をプロダクションでどのように使用できるかを示すために設計された、RSS フィードを消費するサンプルアプリケーションです。UI はネイティブで実装されていますが、Compose Multiplatform を iOS およびデスクトップで使用できる実験的なブランチがあります。ネットワーキングは Ktor HTTP クライアントを使用して行われ、XML パースはネイティブで実装されています。UI ステートの共有には Redux アーキテクチャが使用されています。 |
|
|
|
Kotlin Multiplatform Sample | シンプルな計算機アプリケーションです。expected および actual 宣言を使用して Kotlin とネイティブコードを統合する方法を示します。 | アルゴリズム |
|
推奨サンプル
名前 | 説明 | 共有されているもの | 主なライブラリ | ユーザーインターフェース |
Confetti | Kotlin Multiplatform と Compose Multiplatform の様々な側面を示すショーケースです。ユースケースは、会議のスケジュールに関する情報を取得および表示するアプリケーションです。Wear および Auto プラットフォームのサポートを含みます。クライアント-サーバー通信には GraphQL を使用しています。アーキテクチャについては、KotlinConf 2023 で詳しく議論されました。 |
|
|
|
People In Space | Kotlin Multiplatform が実行できる多くの異なるプラットフォームのショーケースです。ユースケースは、現在宇宙にいる人数と国際宇宙ステーションの位置を表示することです。 |
|
|
|
Sessionize / Droidcon | Sessionize API を使用して Droidcon イベントの議題を表示するアプリケーションです。Sessionize にトークを保存する任意のイベントに合わせてカスタマイズできます。Firebase と統合されており、実行には Firebase アカウントが必要です。 |
|
|
|
KaMPKit | Kotlin Multiplatform 開発のためのコードとツールのコレクションです。Kotlin Multiplatform アプリケーションを構築する際のライブラリ、アーキテクチャの選択、ベストプラクティスを紹介するために設計されています。ユースケースは、犬の品種に関する情報をダウンロードして表示することです。このビデオチュートリアルで紹介されました。 |
|
|
|
その他のコミュニティサンプル
名前 | 説明 | 共有されているもの | 主なライブラリ | ユーザーインターフェース |
NYTimes KMP | New York Times アプリケーションの Compose Multiplatform ベースのバージョンです。ユーザーが記事を閲覧・購読できます。アプリケーションをビルドして実行するには、New York Times からの API キーが必要であることに注意してください。 |
|
|
|
Focus Bloom | 生産性および時間管理アプリケーションです。ユーザーがタスクをスケジュールし、達成度に関するフィードバックを提供できます。 |
|
|
|
Recipe App | レシピを表示するためのデモンストレーションアプリケーションです。アニメーションの使用法を紹介します。 |
|
|
|
D-KMP-sample | Declarative UIs with Kotlin MultiPlatform architecture のサンプルアプリケーションです。ユースケースは、異なる国のワクチン接種統計を取得・表示することです。 |
|
|
|
Notflix | The Movie Database からデータを取得し、現在のトレンド、今後公開される、人気の映画やテレビ番組を表示するアプリケーションです。The Movie Database で API キーを作成する必要があります。 |
|
|
|
Twine - RSS Reader | Twine は Kotlin と Compose Multiplatform を使用して構築されたマルチプラットフォーム RSS リーダーアプリです。フィードを閲覧するための優れたユーザーインターフェースとエクスペリエンスを備え、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 は、Kotlin と Compose Multiplatform を使用したマルチモジュラーアプリで、アムステルダムにある有名な国立博物館の美術品コレクションを没入型で探索できる方法を提供します。Rijksmuseum API を利用して、画像や説明を含む様々な美術品の詳細情報を取得・表示します。 |
|
|
|