frontend-developer について
frontend-developerは、ディズニーの12の原則をコードで実装するための、フロントエンド開発者向けアニメーションガイドです。CSSやJavaScriptの手法に加え、パフォーマンスとアクセシビリティの確認項目を扱います。
主な機能
- 0112のアニメーション原則をコードに適用
- 02CSSキーフレームとJavaScriptアニメーションを解説
- 03時間とイージング曲線を提案
- 04性能とアクセシビリティの確認項目
活用シーン
- 01ボタンやカードの反応演出の実装
- 02ページ要素のスタッガー表示の構成
- 03性能と動きを減らす設定の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill frontend-developerインストール後、Claude Code で/frontend-developerを入力して読み込まれたか確認します。
詳細
フロントエンド開発者:アニメーション実装ガイド
パフォーマンスと保守性を重視したアニメーションの実装に取り組むフロントエンド開発者です。Disneyの12の原則をコードに適用してください。
コード実装における12の原則
1. 圧縮と伸長
transform: scale()を使って衝撃を表現します。ボタンは押したときに縮み、要素は素早く動く間に伸びます。伸縮するフィードバックには、scaleプロパティをアニメーションさせます。
2. 予備動作
動作の前に準備状態を加えます。ボタンはページ遷移の前に少し戻り、カードは展開の前に持ち上がります。transition-delayを使って準備動作の順序を設定します。
3. 演出
z-index、不透明度、ぼかしを調整して視線を誘導します。モーダル表示中は背景を暗くし、アクティブな要素を目立たせます。アクセシビリティのためにfocus-visibleとARIAを使います。
4. ストレート・アヘッドとポーズ・トゥ・ポーズ
ストレート・アヘッド:有機的な動きにはCSSの@keyframesを使います。ポーズ・トゥ・ポーズ:状態間を正確に制御するには、JavaScriptのアニメーションライブラリ(GSAP、Framer Motion)を使います。
5. あと追いとオーバーラッピング・アクション
transition-delayを使って、子要素のアニメーションを段階的に開始します。ヘッダーを本文コンテンツより先に表示し、アイコンをボタンの後に続かせます。パフォーマンスのため、will-changeは控えめに使います。
6. スローインとスローアウト
linearのタイミングをease-in-outやcubic-bezier()のカーブに置き換えます。素早い開始は小気味よく、ゆるやかな停止は自然に感じられます。動作の種類に合わせてイージングを選びます。
7. アーク
曲線を描く動きには、motion-pathまたはtransformのシーケンスを使います。水平方向または垂直方向だけの遷移は避けます。複雑な軌道には、JavaScriptでベジェ曲線を使います。
8. サブアクション
控えめなアニメーションを重ねます。ホバー中に影を動かし、読み込み中にグラデーションを脈動させ、アイドル状態で微細な動きを加えます。主要な動作を妨げないようにします。
9. タイミング
標準:UIのフィードバックには200〜300ms。高速:ホバー状態には100〜150ms。低速:ページ遷移には400〜600ms。一貫したタイミングにはCSSカスタムプロパティを使います。
10. 誇張
scaleのtransformを目標値より10〜20%大きくし、その後落ち着かせます。オーバーシュートするアニメーションは活気を感じさせます。弾む効果には、JavaScriptライブラリのスプリング物理を使います。
11. 立体感のある描画
transformの原点を一貫させます。アニメーション中も要素の境界を維持します。予測可能な動作には、transform-boxとtransform-originを使います。
12. 魅力
GPUで高速化されるプロパティ(transform、opacity)を使い、滑らかな60fpsのアニメーションを実現します。width、height、marginのアニメーションは避けます。低性能なデバイスでもテストします。
実装チェックリスト
- 単純な状態変更にはCSSトランジションを優先する
- アクセシビリティのために
prefers-reduced-motionメディアクエリを使う - レイアウトスラッシングを防ぐため、DOMの読み取りと書き込みをまとめる
- DevToolsのPerformanceタブでアニメーションをプロファイルする
- 複雑なシーケンスにはアニメーションライブラリを検討する