概要
Flutter 3.47がリリースされ、Material/Cupertinoデザインシステムの独立パッケージ化やパフォーマンス向上が実現。 Impellerがデスクトップのデフォルトレンダラーとなり、Apple最新OSへの対応も強化。 Widget Previewsが安定版となり、開発効率が向上。 WebAssemblyのデフォルト化やSwiftPM移行も大きなトピック。 今後の移行・新機能に備えた具体的なガイドも提供。
Flutter 3.47の主な新機能と変更点
- Material/Cupertinoデザイン の 独立パッケージ化 (material_ui, cupertino_uiの1.0リリース)
- コアSDKからのデザインシステム分離
- material_ui/ cupertino_uiをpub.devから個別に利用可能
- 今後はSDKアップグレード不要で最新デザイン利用可
- デザインシステムの分離によるメリット
- デザインライブラリの 独立したリリースサイクル
- バグ修正や新コンポーネントの迅速な提供
- カスタムデザインシステム構築の基盤整備
- 移行方法
dart fix --apply --code=migrate_design_widgetsコマンドで自動移行- pubspec.yamlの問題時は
flutter pub add material_ui等を手動で追加 - コアSDKのデザインライブラリは2024年11月安定版で非推奨予定
- マイグレーションブリッジの提供
- MaterialUiCompatibilityBridgeで依存パッケージの段階的移行が可能
- ローカライズの分離
- flutter_localizationsからmaterial_ui/cupertino_ui内へ移行
- localizationsDelegatesの設定がシンプルに
- コミュニティコントリビューションの再開
- material_ui/cupertino_uiへの貢献が可能に
- 今後は週次リリース予定
Appleエコシステムへの対応強化
- Xcode 27, iOS 17, macOS 14対応
- Apple最新OS対応のためのパイプライン準備
- 最低サポートバージョンの引き上げ(iOS 15, macOS 12)
- UISceneライフサイクル必須化
- iOS 17 SDKから全UIKitアプリで必須
- Flutter CLIは自動対応、独自ネイティブコードの場合は手動移行必要
- Intel Macサポートの段階的終了
- Intel Macでのビルド時に警告表示、将来はエラー化予定
- ARM64専用ビルドへの即時移行も可能
- Swift Package Manager(SwiftPM)移行促進
- iOSプラグインの92%がSwiftPM対応済み
- CocoaPodsはメンテナンスモード、今後はSwiftPM必須
- ビルド時間短縮の最適化
Web・デスクトップ機能の進化
- WebAssembly(Wasm)デフォルト化準備
--wasmフラグでWebアプリをWasmビルド可能- package:webへのJSインタロップ移行が必要
- Wasm向け遅延ローディング機能の実験的導入
- Impellerレンダラーのデフォルト化(デスクトップ)
- macOS/Windows/LinuxでImpellerが標準
- Metal/Vulkan対応でスムーズなアニメーション
- Wide Gamut Colorのデフォルト有効化(macOS)
- Skiaへのフォールバックは将来的に廃止予定
- マルチウィンドウAPIの拡充
- Linux/Windowsでポップアップウィンドウ対応
- windowHandleでネイティブウィンドウへのアクセス
- サイズ自動調整APIの追加
- デスクトップ向けFlavors対応
- Windows/Linuxでアセット切り替えが可能
--flavorオプションでビルド時に指定
- デスクトップテキストの高精細化
- ImpellerによるSigned Distance Function(SDF)レンダリング
開発体験の向上
- Flutter Widget Previewの安定版リリース
- コンポーネント単位で即時プレビュー・検証が可能
- ローカルキャッシュによる高速起動
- その他
- 多数のウィンドウフォーカス・描画バグ修正
- コミュニティからの多様な貢献
公式詳細・アップグレードガイドはFlutter公式ブログやGitHubリリースノートを参照。
今後の移行や新機能利用には、flutter upgradeコマンドの実行を推奨。