Flutter 3.32
- 2025 年 5 月 20 日に Flutter v3.32 が発表された
- 参照: What’s new in Flutter 3.32
ホットリロード(実験的機能)
Section titled “ホットリロード(実験的機能)”- Web でのホットリロードが利用可能に
- Flutter トラッカーで 2 番目に投票数の多かった機能
--web-experimental-hot-reloadフラグを使用して実行- VS Code での設定方法
- launch.json に設定を追加
- “Dart: Flutter Hot Reload On Save” 設定の有効化を推奨
- コマンドライン実行
flutter run -d chrome --web-experimental-hot-reload- “r” でホットリロード、“R” でホットリスタート
- DartPad でも新しい Reload ボタンで利用可能
フレームワーク
Section titled “フレームワーク”新しいウィジェット
Section titled “新しいウィジェット”Expansibleウィジェット- 展開・折りたたみウィジェットの作成を簡素化
- Material スタイルの
ExpansionTileの基盤
RawMenuAnchorウィジェット- Material スタイルの
MenuAnchorの基盤 - スタイル無しメニューとしても独立利用可能
- Material スタイルの
Cupertino
Section titled “Cupertino”Squircles(角丸超楕円)
Section titled “Squircles(角丸超楕円)”- iOS デザイン言語の重要な新機能
- “Apple squircle” として知られる形状
- 従来の角丸長方形よりもスムーズで連続的な曲線
CupertinoAlertDialogとCupertinoActionSheetで使用- 新しい API
RoundedSuperellipseBorder: ペイントやウィジェット形状用ClipRSuperellipse: クリッピング用Canvas.drawRSuperellipse,Canvas.clipRSuperellipse,Path.addRSuperellipse: 低レベル API
- 注意事項
- iOS と Android でのみサポート(他では標準角丸長方形にフォールバック)
- パフォーマンス最適化は継続中
- Android でのシステム UI テーマ設定の修正
- ナビゲーションバーの高さ調整とコンテンツの切り取り修正
PopupMenuButtonとの互換性問題解決- 角丸コーナー遷移の改善
enableDrag引数の追加CupertinoSheetRouteとshowCupertinoSheetで利用可能- ドラッグダウンによる閉じる動作の無効化
ナビゲーションバー
Section titled “ナビゲーションバー”CupertinoSliverNavigationBar.searchの改善- 開閉時のアニメーション精度向上
- 検索フィールドのプレフィックス・サフィックスアイコンの配置修正
CupertinoNavigationBarsとCupertinoSliverNavigationBars間の遷移を最新 iOS に合わせて更新
Material
Section titled “Material”CarouselControlleranimateToIndexメソッドの追加- 固定サイズまたは動的サイズアイテムでのスムーズなインデックスベースナビゲーション
TabBaronHoverとonFocusChangeコールバックの追加
SearchAnchorとSearchAnchor.barviewOnOpenとonOpenコールバックの追加
CalendarDatePickercalendarDelegateの受け入れ- グレゴリオ暦以外のカスタムカレンダーロジックの統合
showDialog,showAdaptiveDialog,DialogRouteanimationStyleの追加
DividerborderRadiusの受け入れ
DropdownMenu- メニュー幅がテキストフィールドより小さくなることを許可
RenderFlexオーバーフローエラーの解決- デフォルト幅がテキストラベル幅を尊重
RangeSliderとSlider- ホバー時のオーバーレイ表示修正
- 透明トラック色での thumb の両端到達問題解決
アクセシビリティ
Section titled “アクセシビリティ”セマンティクスツリーコンパイル最適化
Section titled “セマンティクスツリーコンパイル最適化”- コンパイル時間を約 80% 削減
- Web では、セマンティクス有効時のフレーム時間を 30% 削減
細分化されたセマンティクスロール
Section titled “細分化されたセマンティクスロール”- 新しい
SemanticsRoleAPI Semanticsウィジェットとその関連コンポーネントに統合- 支援技術による UI 要素の解釈をより精密に制御
- サブツリー全体への特定ロール割り当てが可能
Impeller
Section titled “Impeller”- Android デバイスでの Impeller がデフォルトで有効
- 新しい Android デバイスでのオプトアウト機能は今後のリリースで削除予定
- テキストレンダリングの改善
- グリフアトラスの高解像度化
- 浮動小数点計算の丸め誤差修正
- テキストアニメーションのスムーズ化
- その他の改善
- 部分再描画の最適化
- ブラー速度の向上
- 180 度回転テキストの向き修正
DevTools と IDE
Section titled “DevTools と IDE”Flutter Property Editor(新機能)
Section titled “Flutter Property Editor(新機能)”- ウィジェットプロパティの簡単な編集
- VS Code のサイドバーパネルまたは Android Studio/IntelliJ のツールウィンドウからアクセス
- ドキュメントの読み取り機能
DevTools の改善
Section titled “DevTools の改善”- Network 画面のオフラインサポート
- 履歴レビュー、インスペクターエラー、Deep Links ツールのバグ修正
- CPU プロファイラーとメモリ画面のデータ改善
- パフォーマンスとメモリの改善
アナライザーの改善
Section titled “アナライザーの改善”- “doc imports” の追加
- クイックフィックス、アシスト、リネーミングの改善
Gemini in Android Studio
Section titled “Gemini in Android Studio”- Dart と Flutter 開発のファーストクラスサポート
- IDE 内で直接 Gemini の活用が可能
Model Context Protocol(MCP)サポート
Section titled “Model Context Protocol(MCP)サポート”- Dart MCP SDK の開発中
- Dart Tooling MCP Server の開発中
- より正確で関連性の高いコード生成
- 複雑なタスクの実行可能性向上
AI との構築
Section titled “AI との構築”Firebase AI Logic の導入
Section titled “Firebase AI Logic の導入”- Vertex AI in Firebase から Firebase AI Logic へ進化
- Gemini API と Vertex AI の両方にアクセス
firebase_aiパッケージの提供firebase_vertexaiパッケージからの移行推奨
AI モニタリングダッシュボード
Section titled “AI モニタリングダッシュボード”- Gemini API 使用量の詳細な洞察
- 消費パターン、パフォーマンスメトリクス、潜在的問題の可視化
- データ駆動型の意思決定支援
- デバッグとトラブルシューティング機能
破壊的変更と非推奨化
Section titled “破壊的変更と非推奨化”Android アクセシビリティアナウンス
Section titled “Android アクセシビリティアナウンス”- API 36 以降でセマンティックアナウンスイベントが非推奨
SemanticProperties.liveRegionによる “polite” 暗黙アナウンスの使用推奨
6 つのパッケージのサポート終了
Section titled “6 つのパッケージのサポート終了”flutter_markdownios_platform_imagescss_colorspalette_generatorflutter_imageflutter_adaptive_scaffold
iOS と macOS の最小バージョン
Section titled “iOS と macOS の最小バージョン”- 次回安定版リリースで iOS 12 と macOS 10.14(Mojave)のサポート非推奨
- iOS 13 と macOS 10.15(Catalina)を最小対象に
その他の破壊的変更
Section titled “その他の破壊的変更”ExpansionTileControllerの非推奨化SelectionChangedCause.scribbleからSelectionChangedCause.stylusHandwritingへの名前変更ThemeData.indicatorColorの非推奨化SpringDescriptionの計算式修正