2023/09時点でのCompose Multiplatformを利用した開発は、JetBrainsが提供する公式ライブラリの他にサードパーティ製のライブラリを組み合わせて、進めるのが一般的な方法になります。
Compose Multiplatformで利用するライブラリはKotlin Multiplatform対応のライブラリになるのですが、あまりにも数が多く探しづらいので、Compose Multiplatformを利用した開発にて使えるライブラリを本記事にまとめます。
Table of Contents
- Kotlin
- UI Component
- Screen Navigation / Screen Management
- Resource Management
- DI Container
- License
- Logger
Kotlin
名前 | メモf |
---|---|
kotlinx.coroutines | Kotlinの非同期処理実行ライブラリ |
kotlinx.serialization | Kotlinのシリアライズ・デリシアライズ処理実行ライブラリ |
kotlinx-datetime | Kotlinで日付・時刻の取り扱いを楽にするライブラリ |
Ktor | KotlinのWeb アプリケーションフレームワーク アプリ開発では主にHTTPクライアントを作成するのに利用する |
UI Component
名前 | メモ |
---|---|
Compose-Rich-Editor | WYSIWYGに対応したエディターライブラリ |
bonsai | ファイルツリーを表示することができるライブラリ |
Calf | 同じコードベースでiOSとAndroidそれぞれのプラッフォームに適したUIコンポーネントを切り替えて表示してくれるライブラリ |
Screen Navigation / Screen Management
名前 | メモ |
---|---|
Voyger | 簡単に画面遷移ができるのでおすすめ、ダイアログなどのサポートはしていないので、ダイアログに関しては自作する必要がある。 |
Decompose | – |
Decompose Router | – |
Resource Management
名前 | メモ |
---|---|
Libres | 文字列と画像リソースを管理できる。直近更新されていないこともあるので利用は控えたほうが良さそう。 |
lyricist | 文字列リソースのみ管理できる。画像リソースは公式が提供する機能があるのでそちらを使うのが無難である。 |
moko-resources | 文字列と画像リソースを管理できる。多機能ではあるが重厚すぎる。 |
compose.components.resources | 公式が提供するリソース管理の仕組み、またExperimentalなので機能はそこまで多くない |
DI Container
名前 | メモ |
---|---|
koin | Kotzillaによって開発されているKotlin Multiplatform向けのDIフレームワーク |
koject | KSPを利用しているKotlin Multiplatform向けのDIコンテナ |
kodein | – |
kotlin-inject | – |
License
名前 | メモ |
---|---|
AboutLibraries | Compose Multiplatform対応しているライブラリ情報を収集して表示してくれるライブラリ。だがCompose Multiplatform向けのUIはないので自作する必要がある。 |
licensee | Compose Multiplatform対応しているライブラリ情報を収集してくれるライブラリ。UIはないので自作する必要がある。 |