logo

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の useDeleteButtonTooltipdeleteButtonTooltipMessage に移行。

まとめ

Flutter 3は、デスクトップの安定サポート、パフォーマンス向上、モバイルとウェブの改善、多くの新機能を提供します。今後の開発にも期待しましょう!

logo