Kotlin Multiplatform サンプル
これは、Kotlin Multiplatform の堅牢でユニークなアプリケーションを紹介することを目的とした、厳選されたプロジェクトのリストです。
現在、このページへの直接の貢献(コントリビューション)は受け付けておりません。 あなたのプロジェクトを Kotlin Multiplatform のサンプルとして掲載するには、GitHub で kotlin-multiplatform-sample トピックを使用してください。 トピックを使用してプロジェクトを掲載する方法については、GitHub ドキュメントを参照してください。
プロジェクトの中には、ユーザーインターフェースに Compose Multiplatform を使用して、ほぼすべてのコードを共有しているものもあれば、ユーザーインターフェースにはネイティブコードを使用し、データモデルやアルゴリズムのみを共有しているものもあります。独自の新しい Kotlin Multiplatform アプリケーションを作成するには、ウェブウィザード(Web wizard)の使用をお勧めします。
GitHub の kotlin-multiplatform-sample トピックを通じて、さらに多くのサンプルプロジェクトを見つけることができます。エコシステム全体を探索するには、kotlin-multiplatform トピックを確認してください。
JetBrains 公式サンプル
| 名前 | 説明 | 共有されているもの | 注目のライブラリ | ユーザーインターフェース |
| 公式 KotlinConf アプリケーション | KotlinConf のコンパニオンアプリケーションです。 Android、iOS、デスクトップ、および Web 用のクライアントアプリケーションは、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 Client を使用し、XML パースはネイティブで実装されています。UI 状態の共有には 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 | ニューヨーク・タイムズ(New York Times)アプリケーションの Compose Multiplatform ベースのバージョンです。ユーザーが記事を閲覧して読むことができます。アプリケーションのビルドと実行には、ニューヨーク・タイムズの API キーが必要であることに注意してください。 |
|
|
|
| Focus Bloom | 生産性と時間管理のためのアプリケーションです。ユーザーがタスクをスケジュールし、その達成状況に関するフィードバックを提供できるようにします。 |
|
|
|
| Recipe App | レシピを閲覧するためのデモンストレーションアプリケーションです。アニメーションの使用例を示しています。 |
|
|
|
| D-KMP-sample | Kotlin MultiPlatform アーキテクチャによる宣言型 UI のサンプルアプリケーションです。ユースケースは、各国のワクチン接種統計の取得と表示です。 |
|
|
|
| Notflix | The Movie Database からデータを取得し、現在のトレンド、近日公開、および人気の映画やテレビ番組を表示するアプリケーションです。The Movie Database で API キーを作成する必要があります。 |
|
|
|
| Twine - RSS Reader | Twine は、Kotlin と Compose Multiplatform を使用して構築されたマルチプラットフォーム RSS リーダーアプリです。優れたユーザーインターフェースとユーザーエクスペリエンスを備え、フィードを閲覧でき、Material 3 のコンテンツベースのダイナミックテーマをサポートしています。 |
|
|
|
| Shopping By KMP | Jetpack Compose Multiplatform(Kotlin で複数のプラットフォーム間で UI を共有するための宣言型フレームワーク)を使用して構築されたクロスプラットフォームアプリケーションです。Android、iOS、Web、デスクトップ、Android Automotive、および Android TV で、ショッピングカタログから製品の閲覧、検索、購入を行うことができます。 |
|
|
|
| Music App KMP | 異なるプラットフォームで MediaPlayer のようなネイティブ API とやり取りする方法を示すアプリケーションです。データの取得には Spotify API を使用しています。 |
|
|
|
| Rijksmuseum | Rijksmuseum は、アムステルダムの有名なアムステルダム国立美術館(Rijksmuseum)の美術コレクションを探索するための、没入感のあるマルチモジュール化された Kotlin および Compose Multiplatform アプリです。Rijksmuseum API を利用して、画像や説明を含む様々な美術品に関する詳細情報を取得し、表示します。 |
|
|
|
