Katz
2023/09時点でのCompose Multiplatformを利用した開発は、JetBrainsが提供する公式ライブラリの他にサードパーティ製のライブラリを組み合わせて、進めるのが一般的な方法になります。
Compose Multiplatformで利用するライブラリはKotlin Multiplatform対応のライブラリになるのですが、あまりにも数が多く探しづらいので、Compose Multiplatformを利用した開発にて使えるライブラリを本記事にまとめます。
Kotlin
HTTP Client
名前 | メモ |
---|
ktrofit | Androidアプリ開発でよく使われるRetrofitにインスパイアされて作られたHTTPクライアントで、内部的にはKtorのHTTPクライアントが使われている |
Ktor | KotlinのWeb アプリケーションフレームワーク アプリ開発では主にHTTPクライアントを作成するのに利用する |
UI State Management
UI Component
Paging
Navigation
名前 | メモ |
---|
Navigation Compose | ・公式が提供するNavigationライブラリです。Androidで利用されるNavigation Composeと同じ仕組みで利用することができるので特に問題がなければこれを使う。 |
Voyger | 簡単に画面遷移ができるのでおすすめ、ダイアログなどのサポートはしていないので、ダイアログに関しては自作する必要がある。 |
Decompose | – |
Decompose Router | ・Kotlin MultiplatformでParcelableを提供するessentyに依存しており、essentyでParcelableをKotlin2.0からサポートしないこともあるので、使い勝手は良いが移行リスクが高そう。 ・Parcelableを利用する分、画面遷移を構築するのは楽だがセットアップがかなり面倒なライブラリ |
PreCompose | – |
Resource
Storage
DI Container
HTML Parser
名前 | メモ |
---|
ksoup | Compose Multiplatform対応しているHTML Parserで、HTMLの構造解析を実施したいときにはこれが役立つ。 |
Image
名前 | メモ |
---|
coil | v3からMultiplatform対応されて、Compose Multiplatformでも使えるようになる見込み |
compose-imageloader | 2023/10時点で一応は読み込みStateを取得できるが、複雑でエラーハンドリングしにくいのが弱点 |
Kamel | 読み込みStateを取得できて、エラーハンドリングして呼び出すComposable関数を変更することが可能 |
Graph
License
名前 | メモ |
---|
AboutLibraries | Compose Multiplatform対応しているライブラリ情報を収集して表示してくれるライブラリ。だがCompose Multiplatform向けのUIはないので自作する必要がある。 |
licensee | Compose Multiplatform対応しているライブラリ情報を収集してくれるライブラリ。UIはないので自作する必要がある。 |
Service
名前 | メモ |
---|
Supabase | SupabaseはFirebaseに代わるサービスでKotlin Multiplatformをサポートしてくれている。 |
Logger
Icon
ABOUT ME
AndroidエンジニアをやっているKatzです。最近はKotlin Multiplatformを中心にやっています。経歴やお仕事の依頼については、私のプロフィールに詳細を記載していますので、ご確認ください。