Flutter 3
Flutter 3 の新機能と改善点
Flutter 3 がリリースされ、iOS、Android、ウェブに加えて、macOSとLinuxでも安定して利用できるようになりました。このリリースでは、パフォーマンスの向上、モバイルとウェブのアップデート、そしていくつかの重要な変更点が含まれています。
すべてのデスクトッププラットフォームで本番環境に対応
FlutterがmacOSとLinuxで安定版となり、Windowsに加えてすべての主要なデスクトッププラットフォームで本番環境での利用が可能になりました。これには以下の機能が含まれます:
- macOSシステムメニューバーとカスケーディングメニューのサポート:
PlatformMenuBar
ウィジェットを使用して、macOSのネイティブなメニューバーを作成できるようになりました。 - すべてのデスクトッププラットフォームでの国際テキスト入力のフルサポート: IME(Input Method Editor)を使用する言語を含む、国際的なテキスト入力がすべてのデスクトッププラットフォームで完全にサポートされます。
- すべてのデスクトッププラットフォームでのアクセシビリティ: スクリーンリーダー、アクセシブルナビゲーション、色の反転などのアクセシビリティサービスをサポートします。
- macOSでのデフォルトでのユニバーサルバイナリ: macOSデスクトップアプリはデフォルトでユニバーサルバイナリとしてビルドされます。
- Windows 7/8での開発の非推奨化: 開発の推奨WindowsバージョンがWindows 10に引き上げられました。
モバイルアップデート
モバイルプラットフォームに関するアップデート:
- 折りたたみ式デバイスのサポート:
DisplayFeatures
のリストがMediaQuery
に追加され、折りたたみデバイスに対応。 - iOSの可変リフレッシュレートのサポート: ProMotionディスプレイ対応で最大120Hzのリフレッシュレートが可能。
- iOSリリースの簡略化:
flutter build ipa
コマンドでTestFlightやApp Storeへのリリースが簡単に。 - Gradleバージョンのアップデート: Gradle 7.4とAndroid Gradleプラグイン7.1.2がデフォルト。
- 32-bit iOS/iOS 9/iOS 10 のサポート終了: Flutter 3が最後の安定版。
ウェブアップデート
ウェブアプリに関するアップデート:
- 画像デコードの高速化: ImageDecoder APIを活用し、メインスレッドのブロックを削減。
- ウェブアプリのライフサイクルAPI: アプリの起動プロセスを細かく制御可能。
ツールアップデート
FlutterおよびDartツールのアップデート:
- lintパッケージの更新:
flutter_lints
v2.0がリリース。 - パフォーマンスの改善:
- Androidデバイスでの部分的な再描画のサポート。
- Opacityアニメーションのパフォーマンス向上。
- EngineのラスタースレッドとUIスレッドの優先度向上。
- ラスタキャッシュの許可ポリシーの改善。
- iOSのアニメーションフレームのドロップバグ修正。
- Impeller: シェーダーコンパイルを最適化する実験的なレンダリングバックエンド。
- Androidでのインライン広告のパフォーマンス向上。
その他のエキサイティングなアップデート
- Material 3のサポート: ダイナミックカラーや新しいタッチリップルデザインの導入。
- テーマ拡張:
ThemeData.extensions
により、カスタムテーマの追加が容易に。 - 広告の改善: GoogleのUser Messaging Platform(UMP)SDKのサポート。
破壊的変更
Flutter 3には以下の破壊的変更が含まれます:
- v2.10以降で非推奨になったAPIの削除。
- ページ遷移が
ZoomPageTransitionsBuilder
に置き換え。 - Chipsの
useDeleteButtonTooltip
がdeleteButtonTooltipMessage
に移行。
まとめ
Flutter 3は、デスクトップの安定サポート、パフォーマンス向上、モバイルとウェブの改善、多くの新機能を提供します。今後の開発にも期待しましょう!