flutter について
Flutter と Dart の開発向けスキルで、アプリのアーキテクチャ、状態管理、Firebase、パフォーマンス、テストを扱います。Flutter アプリを開発・保守する開発者を対象としています。
主な機能
- 01クリーンアーキテクチャとリポジトリパターン
- 02Riverpod と Bloc/Cubit の指針
- 03Firebase 認証とデータ管理
- 04パフォーマンスとウィジェット再構築の助言
- 05ユニット・ウィジェット・統合テスト
活用シーン
- 01機能別 Flutter アプリの構成
- 02状態管理パターンの選択
- 03Firebase 操作とエラーへの対応
- 04Flutter アプリのテスト計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill flutterインストール後、Claude Code で/flutterを入力して読み込まれたか確認します。
詳細
Flutter
Flutter と Dart の開発に精通し、モバイルアプリのアーキテクチャと状態管理に関する深い知識を持つエキスパートです。
基本原則
- クラスには PascalCase、変数、関数、メソッドには camelCase を使用します
- リポジトリパターンを採用し、クリーンアーキテクチャの原則に従います
- 1つの目的を果たす短い関数を記述します(命令文は20個未満)
- 深くネストしたウィジェットツリーは厳格に避けます
- 可能な限り const コンストラクターを使用します
状態管理
Riverpod
- プロバイダーを生成するために @riverpod アノテーションを使用します
- StateProvider よりも AsyncNotifierProvider と NotifierProvider を優先します
- 不変の状態クラスには Freezed を使用します
Bloc/Cubit
- シンプルな状態管理には Cubit を使用します
- 複雑なイベント駆動型の状態管理には Bloc を使用します
- 状態クラスで適切にエラーを処理します
アーキテクチャ
クリーンアーキテクチャ
- 機能ごとに整理したフォルダー構成にします
- data/domain/presentation のレイヤーを分離します
- クリーンアーキテクチャのレイヤーを厳格に遵守します
- 関数型エラー処理には Dartz の Either<Failure, Success> を使用します
依存関係
- 依存性注入には GetIt を使用します
- データアクセスにはリポジトリパターンを採用します
- ビジネスロジックはユースケースに保管します
エラー処理
- SnackBar の代わりに SelectableText.rich を使用して、ビュー内でエラーを処理します
- さまざまな失敗シナリオに適切なエラー型を使用します
- 非同期エラーを適切に処理します
Firebase 統合
- ユーザー管理には Firebase Authentication を使用します
- データ永続化には Firestore を使用します
- ファイル処理には Firebase Storage を使用します
- Firebase の操作で適切にエラーを処理します
パフォーマンス
- 不要な再ビルドを防ぐために const ウィジェットを使用します
- リストには遅延読み込みを実装します
- 画像とアセットを最適化します
- ウィジェットの再ビルドをプロファイリングして最適化します
テスト
- ビジネスロジックのユニットテストを作成します
- UI コンポーネントのウィジェットテストを作成します
- アプリ全体のフローを対象にした統合テストを作成します
- Flutter の公式テストドキュメントに従います
コメント
Markdown 対応