これは便利! ロード時に表示するスケルトンを実際のUIから抽出して自動生成してくれるフレームワーク -Boneyard

Webサイトやスマホアプリのロード時に、実際のUIから抽出したピクセルパーフェクトのスケルトンを自動生成してくれるフレームワークを紹介します。

React, Vue, Angularなどに対応しており、数行のコードを記述するだけで、あらゆるUIのスケルトンを自動生成できます。

下記のGIFアニメーションだと分かりにくいですが、スケルトンにはキラッとひかるshimmerなども用意されています。

ロード時に実際のUIを元にしたスケルトンを自動生成するフレームワーク -Boneyard

Boneyard
Boneyard -GitHub

Boneyardの特徴

Boneyardは、Webページやスマホアプリ用にスケルトンのローディング画面を自動生成できるフレームワークです。仕組みとしては、実際にレンダリングされているUIコンテンツをスナップショットし、正確なサイズと配置でスケルトンを自動生成してくれます。

MITライセンスで、商用プロジェクトでも無料で利用できます。

サイトのキャプチャ

Boneyard

Boneyardのデモ

Boneyardのデモページでは、どのように機能してスケルトンが自動生成されるのかが分かります。まずは、よく使用されるカードのコンポーネント、ヒーロー画像・タイトル・テキスト・オーサーがコンテンツに含まれています。

サイトのキャプチャ

Example -Boneyard

スケルトンはライトモード・ダークモードの両方に対応しており、カラーやアニメーションなどのカスタマイズもできます。

ソーシャルメディアのフィードでは、アバター・テキスト・画像・エンゲージメントがコンテンツに含まれています。

サイトのキャプチャ

Example -Boneyard

プロダクト一覧は、検索バー・画像グリッド・ボタンがコンテンツに含まれています。これは最上部のGIFアニメーションと同じです。

サイトのキャプチャ

Example -Boneyard

テキストが多い記事コンテンツも正確なサイズと配置でスケルトンを自動生成します。

サイトのキャプチャ

Example -Boneyard

最後のデモはかなり複雑なレイアウト。実際のUIから直接抽出されているので、スケルトンはピクセルパーフェクトです。

サイトのキャプチャ

Complex Example -Boneyard

Boneyardの使い方

Boneyardを使用すれば、あらゆるReactアプリにスケルトンのローディング画面を簡単に追加できます。

コンポーネントをラップします。

各スケルトンにはnameが必要です。CLIはこのnameを使ってスケルトンを識別し、ボーンファイルを生成します。

コンポーネントがAPIからのデータを必要とする場合、または認証が必要な場合は、モックコンテンツを含むfixturepropを追加します。CLIはキャプチャ時にフィクスチャをレンダリングするため、実際のデータは必要ありません。

ボーンを生成します。
開発サーバーが起動している状態で、CLIを実行します。CLIは、複数のビューポート幅でアプリにアクセスし、名前付きの<Skeleton>ごとにスナップショットを作成し、それぞれの<Skeleton>に対して.bones.jsonファイルを作成します。

ボーンを登録します。
ビルド時に、ボーンと共にregistry.jsファイルが生成されます。アプリのエントリに下記の1行を追加すると、すべての<Skeleton>が名前でボーンを自動的に解決します。

これで完了です。
コンポーネントはクリーンなままで、ファイルごとのJSONインポートは不要です。

さらに詳しくは、ドキュメントをご覧ください。

サイトのキャプチャ

Getting Started -Boneyard

sponsors

top of page

©2026 coliss