flutter-sdk-changelog について
アプリを保守・アップグレードする Flutter 開発者向けのリファレンススキルです。非推奨 API の置き換えを整理し、Material 3、独立 UI パッケージ、レガシーコードの移行ガイドを提供します。
主な機能
- 01非推奨ウィジェットと API の置き換え
- 02Flutter と Dart のバージョン対応表
- 03Material 2 から Material 3 への移行
- 04独立した Material・Cupertino パッケージへの移行
- 05レガシーアプリのアップグレード手順
活用シーン
- 01非推奨 Flutter API の置き換え
- 02Material 3 移行の計画
- 03デザインパッケージの import 更新
- 04旧版 Flutter アプリのアップグレード
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ randalschwartz/ dart-sdk-skills --skill flutter-sdk-changelogインストール後、Claude Code で/flutter-sdk-changelogを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/flutter-to-dart-version-matrix.mdmaterial-2-to-material-3-guide.mdmaterial-ui-and-cupertino-ui-migration.mdrescuing-legacy-flutter-apps.mdwidget-deprecations-and-replacements.md詳細
Flutter SDK 変更履歴 & ウィジェット移行ガイド (Flutter 1.0 からモダン Flutter まで)
このスキルは、Flutter フレームワークのリリース、ウィジェットの非推奨化、API の置き換え、Material 3 デザインへの移行、スタンドアロンの material_ui および cupertino_ui パッケージの分離、そしてレガシーな Flutter コードベースの救済ランブックに関する、信頼できる構造化されたリファレンスを提供します。
🎯 Flutter ウィジェット & API 早見置き換えマトリクス
| 非推奨 / 廃止された API | 導入 / 非推奨となったバージョン | モダンな置き換え | 参照 |
|---|---|---|---|
Color.withOpacity(o) | Flutter 3.22 で非推奨 | Color.withValues(alpha: o) | ウィジェットの非推奨化 |
MaterialState / MaterialStateProperty | Flutter 3.22 で非推奨 | WidgetState / WidgetStateProperty | ウィジェットの非推奨化 |
WillPopScope | Flutter 3.12+ で非推奨 | PopScope(canPop: ..., onPopInvokedWithResult: ...) | ウィジェットの非推奨化 |
FlatButton、RaisedButton、OutlineButton | Flutter 2.0 で非推奨 | TextButton、ElevatedButton、OutlinedButton | ウィジェットの非推奨化 |
TextTheme.headline1...6、bodyText1/2 | Flutter 3.7+ で非推奨 | displayLarge...small、bodyLarge/Medium | ウィジェットの非推奨化 |
ThemeData.accentColor | Flutter 2.5+ で非推奨 | ColorScheme.secondary | ウィジェットの非推奨化 |
Scaffold.of(context).showSnackBar() | Flutter 2.0 で非推奨 | ScaffoldMessenger.of(context).showSnackBar() | ウィジェットの非推奨化 |
package:flutter/material.dart | モノリシックな Flutter SDK | package:material_ui/material_ui.dart | Material & Cupertino 移行 |
package:flutter/cupertino.dart | モノリシックな Flutter SDK | package:cupertino_ui/cupertino_ui.dart | Material & Cupertino 移行 |
BottomNavigationBar | レガシーな M2 ナビゲーション | NavigationBar (Material 3) | Material 3 ガイド |
ToggleButtons | レガシーな M2 トグル | SegmentedButton<T> (Material 3) | Material 3 ガイド |
describeEnum(e) | Flutter 3.47 で削除 | e.name (Dart 2.15+ ネイティブプロパティ) | ウィジェットの非推奨化 |
ReorderableListView.onReorder | Flutter 3.44 で非推奨 | onReorderWithOldAndNewIndex | ウィジェットの非推奨化 |
PopupMenuButton | レガシーなポップアップメニュー | MenuAnchor / SubmenuButton | Material 3 ガイド |
⚡ サブスキルのハイライト
サブスキル: スタンドアロンの material_ui & cupertino_ui パッケージへの移行
- 分離されたアーキテクチャ: モノリシックなフレームワークのデザインライブラリから、独立したリリースサイクルを持つスタンドアロンの pub パッケージへと移行します。
- 自動修正:
dart fix --apply --code=migrate_design_widgetsを実行すると、インポートと依存関係が自動的に更新されます。 - ヘッドレスコアのサポート:
package:flutter/widgets.dartに対して直接、純粋にカスタムなデザインシステムを構築できます。 👉 詳細は Material & Cupertino UI 移行ガイド をご覧ください。
サブスキル: ウィジェットの非推奨化とモダン化
- 予測型戻るナビゲーション: Android 14+ および iOS で、途切れのない予測型戻るジェスチャーを実現するために
WillPopScopeをPopScopeに置き換えます。 - 広色域カラー: 8 ビット精度の損失と色のクリッピングを解消するために、
withOpacityをwithValues(alpha: ...)に置き換えます。 - 統合された状態管理:
MaterialStateを汎用的なWidgetStateに置き換えます。 👉 詳細は ウィジェットの非推奨化と置き換えガイド をご覧ください。
サブスキル: Material 2 から Material 3 への移行
- シードベースのテーマ設定:
ColorScheme.fromSeed(seedColor: ...)でトーナルパレットを生成します。 - コンポーネントのモダン化:
BottomNavigationBarからNavigationBarへ、ToggleButtonsからSegmentedButtonへ、M2 のボタンからFilledButtonへ移行します。 👉 詳細は Material 2 から Material 3 へのガイド をご覧ください。
サブスキル: レガシー Flutter アプリの救済 (Flutter 1.x / 2.x からモダンな 3.x へ)
- 5 フェーズのアップグレードパイプライン: ツールチェーンのベースライン確認 → null 安全ブリッジ → ウィジェットの非推奨化修正 → Material 3 への更新 → モダンな状態管理とルーティング。 👉 詳細は レガシー Flutter アプリ救済ランブック をご覧ください。
📚 目次とリファレンスアーカイブ
| ドキュメント | フォーカス領域 | 説明 |
|---|---|---|
material-ui-and-cupertino-ui-migration.md | パッケージの分離 | SDK 同梱の material/cupertino からスタンドアロンの material_ui および cupertino_ui への移行に関する完全なランブック。 |
flutter-to-dart-version-matrix.md | バージョンマッピング | Flutter 1.0~3.49+ と同梱の Dart SDK およびエンジンマイルストーンの完全なマッピング。 |
widget-deprecations-and-replacements.md | ウィジェット辞書 | 非推奨となったすべての Flutter ウィジェットとプロパティのビフォー/アフターコードスニペット。 |
material-2-to-material-3-guide.md | UI とテーマ設定 | 包括的な Material 3 移行ガイド、動的カラースキーム、新しいコンポーネント。 |
rescuing-legacy-flutter-apps.md | アップグレードランブック | レガシー Flutter アプリをモダンな Flutter へ段階的に移行するための 5 フェーズ構成のランブック。 |
🛠️ 推奨ランブック
1. スタンドアロンの material_ui と cupertino_ui への移行
dart fix --apply --code=migrate_design_widgetsを実行してインポートを書き換えます。pubspec.yamlの依存関係にmaterial_uiとcupertino_uiが含まれていることを確認します。- ローカライズの更新とヘッドレスアーキテクチャについては、Material & Cupertino UI 移行ガイド を参照してください。
2. 非推奨のウィジェットとプロパティの移行
- 非推奨のウィジェットまたはプロパティ (例:
WillPopScope、Color.withOpacity、MaterialStateProperty) を特定します。 - ウィジェットの非推奨化ガイド を参照します。
- モダンな宣言型の同等物 (例:
PopScope、Color.withValues(alpha: ...)、WidgetStateProperty) に置き換えます。
3. Material 3 への移行
- Material 2 から Material 3 へのガイド を確認します。
ColorScheme.fromSeed(seedColor: ...)を使用してThemeDataを構成します。- レガシーなナビゲーションバー (
BottomNavigationBar→NavigationBar) とコントロール (ToggleButtons→SegmentedButton) を置き換えます。
4. レガシー Flutter アプリのアップグレード / 救済
pubspec.yamlの environment ブロックから現在の Flutter と Dart のバージョンを確認します。- レガシー Flutter アプリ救済ランブック の 5 フェーズパイプラインに従います:
- ツールチェーンの確認 → Sound Null Safety ブリッジ → ウィジェットの非推奨化 → Material 3 テーマ → モダンなルーティングとリアクティブな状態管理。
5. 「Flutter X.Y の新機能」に回答する
- Flutter と Dart のバージョン対応表で Flutter のバージョンを照合します。
- 同梱されている Dart SDK のバージョン、フレームワークの主要なマイルストーン、エンジンの更新内容を述べます。
コメント
Markdown 対応