KC Blog

【Compose Multiplatform】依存性注入Koinの使用方法

3 min read
CrossPlatform#CMP#Dependency Injection#Koin#Kotlin

はじめに

Compose Multiplatformプロジェクトでは

依存性注入は重要な設計パターンです

軽量なDIフレームワークであるKoinは

クロスプラットフォーム開発に非常に適しています

本記事では、Compose Multiplatformで

Koinを使った依存性注入の方法を紹介します

{% include table/compose-multiplatform-category.html %}

実装手順

1. ライブラリのインポート
.tomlファイルに追加:

build.gradle.ktsに追加:

2. DIコンテンツの実装
次に、具体的なDIの内容を実装する必要があります:

実際のニーズに基づいて実装できます

例えば、viewmodel、database、datastoreなどの使用を計画しているかもしれません

実際のニーズに応じて分類し

コードの保守性と管理性を向上させることができます

3. Koinの初期化
実装が`クロスプラットフォーム`アクセスを必要とする場合

例えば、AndroidでContextにアクセスする場合

依存性注入は別々に注入する必要があります

異なるプラットフォームと要件に基づいて、Koinを初期化する複数の方法があります:

iOSMainの場合:

androidMainの場合:

実装がクロスプラットフォームアクセスを必要としない場合

以下の方法でcommonMainに直接注入できます

koin-composeバージョン1.2.0では、KoinApplicationを使用して

コードの一貫性を高めることができます

または元のstartKoinも使用できます:

4. 実際の使用

その後、koinViewModelを直接使用してviewmodelを注入できます

または一部のコンポーネントでは、モジュールでget()を使用してインスタンスを取得できます

まとめ

  • KoinはCompose Multiplatformで使用できます
  • 適切な設定により、Koinを異なるプラットフォームで柔軟に使用できます
  • Koinを使用することで、クロスプラットフォームプロジェクトの依存関係管理が大幅に簡素化されます
  • プロジェクトの規模と複雑さに基づいて、適切な初期化方法を選択しましょう