Compose Multiplatformで使えるライブラリまとめ

2023/09時点でのCompose Multiplatformを利用した開発は、JetBrainsが提供する公式ライブラリの他にサードパーティ製のライブラリを組み合わせて、進めるのが一般的な方法になります。

Compose Multiplatformで利用するライブラリはKotlin Multiplatform対応のライブラリになるのですが、あまりにも数が多く探しづらいので、Compose Multiplatformを利用した開発にて使えるライブラリを本記事にまとめます。

Table of Contents

Kotlin

名前メモf
kotlinx.coroutinesKotlinの非同期処理実行ライブラリ
kotlinx.serializationKotlinのシリアライズ・デリシアライズ処理実行ライブラリ
kotlinx-datetimeKotlinで日付・時刻の取り扱いを楽にするライブラリ
KtorKotlinのWeb アプリケーションフレームワーク
アプリ開発では主にHTTPクライアントを作成するのに利用する

UI Component

名前メモ
Compose-Rich-EditorWYSIWYGに対応したエディターライブラリ
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

名前メモ
koinKotzillaによって開発されているKotlin Multiplatform向けのDIフレームワーク
kojectKSPを利用しているKotlin Multiplatform向けのDIコンテナ
kodein
kotlin-inject

License

名前メモ
AboutLibrariesCompose Multiplatform対応しているライブラリ情報を収集して表示してくれるライブラリ。だがCompose Multiplatform向けのUIはないので自作する必要がある。
licenseeCompose Multiplatform対応しているライブラリ情報を収集してくれるライブラリ。UIはないので自作する必要がある。

Logger

名前メモ
NapierFirebase Crashlyticsへのつなぎ込みをサポートしているロガーライブラリ。使い勝手はTimberに似ていそう。