ホームReact0xGF/boneyard
// archived 2026-04-06
0xGF

boneyard

Frontend#React#Svelte#Skeleton Loading#UI Components#Web Development
GitHub で見る →
218

// 概要

Boneyard は、実際の DOM からレイアウト情報を抽出し、ピクセル単位で正確なスケルトン画面を自動生成する開発ツールです。開発者は、シンプルなコンポーネントのラップとコマンドラインビルドを通じて、手動調整なしで読み込み中のプレースホルダー効果を実現できます。本ツールは React、React Native、Svelte などの多様なフレームワークをサポートし、柔軟なレイアウト API を提供することで、異なるレスポンシブ要件に対応します。

// 技術解説

Boneyard は、実際の DOM からレイアウト情報を直接抽出することで、手動での計測やプレースホルダー調整という煩雑な作業を排除する、自動スケルトン画面生成の設計思想を採用しています。このプロジェクトは、従来のスケルトン画面開発において UI レイアウトとの高い整合性を維持することが困難であるという課題に対処しており、CLI ツールを使用して要素の位置を自動的に取得し、正確なスケルトンデータを生成します。その技術的な決定はレスポンシブ対応とパフォーマンス最適化を重視しており、compiled layout API を提供することで、開発者が SSR や高頻度な再描画のシナリオにおいてスケルトンの記述子を効率的に再利用できるようにし、開発効率と実行時パフォーマンスのバランスを実現しています。

// 主要ハイライト

01
実際の DOM 構造を自動スキャンすることで、実際の UI とピクセル単位で一致するスケルトン画面を生成し、プレースホルダーを手動で記述する必要を排除します。
02
レスポンシブ対応を内蔵しており、複数のプリセットされたブレークポイント(例:375px、768px、1280px)にわたってレイアウト情報を自動的に取得可能です。
03
フレームワークに依存しないスケルトン登録メカニズムを提供し、React、Svelte、React Native といった多様な開発環境をサポートします。
04
compileDescriptor API を介して反復的なレンダリングパフォーマンスを最適化するインテリジェントなレイアウトエンジンを搭載しており、SSR や複雑なアニメーションのシナリオに適しています。
05
カスタムのスケルトンカラーやパルスアニメーション効果をサポートし、読み込み中の視覚体験を向上させます。
06
CLI ツールは柔軟な設定をサポートしており、開発者が URL やカスタムブレークポイントを指定してスケルトンデータを生成できます。

// ユースケース

01
コマンドライン経由で、実際のコンポーネントレイアウトと完全に一致するスケルトン画面を自動スキャンおよび生成する
02
マルチブレークポイントに対応したレスポンシブなスケルトン画面をサポートし、異なる画面サイズ間で一貫した表示を確保する
03
SSR や高頻度の再描画シナリオに適した、パフォーマンスの高いレイアウトコンパイル API を提供する

// クイックスタート

まず、npm install boneyard-js を介して依存関係をインストールし、コンポーネントを <Skeleton> タグでラップして一意の名前を指定します。次に、npx boneyard-js build コマンドを実行して DOM を自動スキャンし、スケルトンデータを生成します。最後に、アプリケーションのエントリーポイントで生成されたレジストリファイルをインポートすることで、自動スケルトン画面読み込み効果を実装します。