OSS探訪GitHubでログイン

Composeでネットワーク画像を読み込み、キャッシュ・状態表示・変換をプラグインで組み合わせる

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
2,586
主要言語
Kotlin
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/25
ページ内ナビ

概要

LandscapistはJetpack ComposeとCompose Multiplatform向けの画像読み込みライブラリです。ネットワーク画像の取得・キャッシュ・表示状態を扱い、placeholder、crossfade、blur、paletteなどをプラグインとして組み合わせられます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Kotlin Multiplatform対応の画像取得とキャッシュをComposeへ組み込む

landscapist-coreはKtorによるネットワーク取得、memory/disk cache、progressive loadingを提供し、landscapist-imageからAndroid・iOS・Desktop・WebのCompose UIへ画像を表示できます。

出典:[2]

表示状態と画像効果をpluginとして追加する

loading/success/failureのslotに加え、Shimmer、Crossfade、BlurなどをImageComponentへ組み合わせられます。既存のGlide・Coil・Frescoを使う統合moduleも用意されています。

出典:[2]

向いている用途

画像の多いCompose画面を複数platformで共通化したい場合に向く

AndroidだけでなくKotlin Multiplatformでも画像取得・cache・表示処理を共有したいアプリや、loaderごとの差をUIから切り離したい場合に適します。

出典:[2]

導入前の確認

2.13.2のiOS cache修正とApp Bundle修正を含めて更新する

2.13.2はiOSでdisk cache上限到達後に画像取得が止まる問題と、minifyしたAndroid App Bundleでmodule名が原因となるpackaging失敗を修正しています。2.13.1以前を利用している場合は該当条件を確認してください。

出典:[3]

参考にした公式資料

  1. [1]skydoves/landscapist — GitHub repository(2026-10-06)
  2. [2]Landscapist 2.13.2 — README(2026-10-06)
  3. [3]Landscapist 2.13.2 release(2026-10-06)
  4. [4]Landscapist Apache-2.0 license(2026-10-06)
編集部からの補足

Compose画面で画像読み込みと状態表示・変換を柔軟に組み合わせたい場合に向きます。2.13系では独自のKMP core/imageも選べるため、既存のCoil/Glide連携を続けるか、依存を減らすかを用途に合わせて判断できます。

3ステップで試す

  1. 1

    Landscapist Image 2.13.2を追加する

    Compose向けの独自KMP画像ローダーをversion固定で追加します。landscapist-coreとKtor clientはmoduleから利用されます。

    implementation("com.github.skydoves:landscapist-image:2.13.2")
  2. 2

    ネットワーク画像をComposeへ表示する

    READMEのLandscapistImage例に沿ってURLを指定し、Compose上で画像を読み込みます。

    LandscapistImage( imageModel = { "https://example.com/image.jpg" }, modifier = Modifier.size(300.dp), )
  3. 3

    読み込み状態を受け取る

    Loading・Success・Failureなどの状態変化を受け取り、実際の画面で通信と表示状態を確認します。

    LandscapistImage( imageModel = { imageUrl }, onImageStateChanged = { state -> println(state) }, )
公式READMEで確認

成長

成長の推移 · 直近30日

2,586 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
139
Open PR
1

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • android
  • kotlin
  • compose
  • jetpack-compose
  • image
  • image-loading
  • library
  • skydoves
  • compose-glide
  • landscapist
  • network
  • compose-coil
Stars
2,586
Forks
139
Watchers
12
Open Issues
2
Contributors
16
所有者種別
User
主要言語
Kotlin
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/25

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?