Placeholder Compose — Jetpack ComposeとKMP向けプレースホルダー表示ライブラリ

Library

概要

placeholder-composeは、Jetpack ComposeアプリやKotlin Multiplatformプロジェクトで使える、読み込み中のプレースホルダー表現を提供する軽量ライブラリです。プレースホルダーの形状・色・アニメーション(シマー/フェード等)を柔軟にカスタマイズでき、既存のCompose UIに違和感なく組み込めます。APIは簡潔で、ModifierやComposableに簡単に適用できるため、リストやカード、画像などの読み込み状態を短時間で見栄え良く表現できます。

GitHub

リポジトリの統計情報

  • スター数: 42
  • フォーク数: 0
  • ウォッチャー数: 42
  • コミット数: 11
  • ファイル数: 18
  • メインの言語: Kotlin

主な特徴

  • Jetpack Composeネイティブ:ComposeのModifier/Composableにシームレスに適用可能。
  • 高度なカスタマイズ:色、形状、アニメーションタイプ、速度など細かく調整可能。
  • Kotlin Multiplatform対応:KMP対応により共通コードでの導入が容易(モジュール分離や共有ロジックに適合)。
  • 軽量で導入が簡単:依存性が少なく、既存プロジェクトへの組み込みコストが低い。

技術的なポイント

placeholder-composeはCompose向けの見た目補助ライブラリとして、Modifierベースの適用や専用Composableを通じた柔軟な使い方を想定しています。アニメーションはComposeのアニメーションAPIを利用しており、シマー(光の走査)や単純なフェードイン/アウト、ループするトランジションなど複数のプリセットを持つか、パラメータで挙動を調整可能です。Kotlin Multiplatformのサポートにより、UIロジック以外の共通処理や設定を共有でき、Android以外のターゲット(将来的な拡張)への移植性も考慮されています。テーマ互換性があり、Materialテーマのカラーやダークモードを反映する設計になっているため、アプリの見た目に合わせた自然なプレースホルダー表現が実現できます。パフォーマンス面ではComposeの描画パイプラインに沿って最小限のオーバーヘッドでアニメーションを実行するよう配慮されており、リストのスクロール時などでも滑らかな表示を維持することを狙っています。ライセンスはApache 2.0で商用利用・改変も柔軟に可能です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • .gitignore: file
  • CODE_OF_CONDUCT.md: file
  • CONTRIBUTING.md: file
  • LICENSE: file
  • README.md: file(使用例・導入方法・APIの概要を記載)
  • build.gradle(.kts) / settings.gradle(.kts): file(マルチモジュール/KMP設定含む可能性)
  • src/: dir(Compose用のComposableやModifier、アニメーション実装、サンプル等)
  • samples/(存在する場合): dir(導入サンプルやデモ)
  • CHANGELOG.md: file(リリース履歴) …他 13 ファイル

プロジェクトはライブラリとしての配布を念頭に置き、ビルド設定やドキュメント、貢献ガイドラインが整理されています。ソースツリー内の主要モジュールはUIレイヤー(Compose実装)と共有コード(KMP設定や共通ユーティリティ)に分かれており、サンプルやテストを通して導入方法が明示されています。

まとめ

Compose環境で簡単に美しいプレースホルダーを導入できる実践的なライブラリです。

リポジトリ情報:

READMEの抜粋:

License API