Flutterの記事を整理し本にしました
- 本稿の記事を含む様々な記事を体系的に整理し本にまとめました
- 今後はこちらを最新化するため、最新情報はこちらをご確認ください
- 30万文字を超える超大作になっています!!
まとめ記事
はじめに
- Flutter2.5が2021/9/9にリリースされ、追加された機能が多いようだったので、整理してみました。
概要
- 2021/9/9にFlutter2.5がリリースされました
- Flutter2になってからは一番大きいアップデートのため変更点を情報を整理します
元記事
重要なポイント
Performance: iOS shader warmup, async tasks, GC & message passing
- シェーダーの性能改善(ウォームアップや非同期処理のポリシーの改善)
- メモリの再利用によるGCの削減
- DartとiOS/Android間のメッセージングの待ち時間の短縮
Dart 2.14: formatting, language features, pub & linting out-of-the-box
- トリプルシフト演算子の復活(ビットシフト)
- Lintによる標準静的解析が利用可能
Framework: Android full screen, Material You & text editing shortcuts
- Anroidのフルスクリーンの不具合の解消
- Material You(Googleのデザインフレームワーク)が利用可能
- フローティングアクションボタンのサイズ/テーマの更新
- ScaffoldMessengerの導入(SnackBarの上部版)
- 文字列操作のショートカットによる操作が可能
Plugins: camera, image picker & plus plugins
- カメラプラグインの改善(オートフォーカス、露出、FPSなどを扱える様になった)
- より機能が拡充されたプラスプラグインの提供(旧プラグインからは対応するプラグインへ移行を推奨)
Flutter DevTools: performance, Widget inspector, & polish
- DevToolsのさらなる改良
- アプリのレンダリングやシェーダーの情報をタイムラインでライブで表示可能
- Widgetのインスペクタ機能の改良
IntelliJ/Android Studio: integration tests, test coverage, and icon previews
- IntelliJ/AndroidStudioの統合テストのサポートの強化とアイコンプレビュー機能の追加
Visual Studio Code: dependencies, Fix All, and Test Runner
-
Dart:Add Dependencyと Dart:Add Dev Dependencyコマンドの追加
- Pubspec Assistのような機能を提供する
-
FixAllコマンドの追加
- 今開いているファイル全てに対して、dart fixコマンドを行う
- source.fixAllやeditor.codeActionsOnSaveの設定を行うと、保管時のアクションで使える
-
既存のDart and Flutterテストランナーが削除され、新しいVisual StudioCodeテストランナーが採用
Tools: exceptions, new app template & Pigeon 1.0
- デバッガが接続されている場合の処理されなかった例外の取り扱い
- 新しいテンプレート(スケルトン)の提供
- 今まではデフォルトでカウンタアプリでしたが、ページ遷移などを行うもう少し実用的なスケルトンが提供されます
flutter create -t skeleton my_app
- Pigeon 1.0のリリース
- プラグイン開発などをする時に、Dart/Java/Objective-Cを相互運用するためにコードを生成するCodegenツール
Breaking changes & deprecations
-
以下の通り重要な変更が行われました(google翻訳のため、詳細は原文や詳細を確認することをお勧めします)
- デフォルトのドラッグスクロールデバイス
- 非推奨のAPIはv2.2以降削除されました
- パッケージの紹介:flutter_lints
- ThemeDataのアクセントプロパティは非推奨になりました
- GestureRecognizerのクリーンアップ
- AnimationSheetBuilder.displayをcollateに置き換えます
- HTMLスロットを使用してWebでプラットフォームビューをレンダリングする
- LogicalKeySetをSingleActivatorに移行します
-
Flutter 2.5リリースでは、2020年9月に発表されたiOS8のサポートを廃止
まとめ
- Flutter2.0の時のも性能改善がありましたが、性能はFlutterの大きな関心ごとのようで、常に改善が行われています
- DevToolsも機能拡充がめざましいです
- 開発環境の拡充やプラグインなど、Dart以外の部分の機能もどんどん使いやすくなっています
- 長らくカウンタアプリがデフォルトだったので、新しいテンプレートが使えるのは嬉しい
- 非推奨/無くなる機能には注意