概要
どうも、@daiki1003です!とうとう!Flutter 3.13がリリースされました!preが何回かアップデートされたりしていましたがとうとうって感じですね。
本記事では、
を元にどんな機能/改善がリリースされたのかの全貌をお届けできればと思っております。
にしても、Flutterってマイナーバージョンの変更でおぉ!ってなるのは合ってるのだろうか笑
Impeller
描画
まず、Impellerの改善です。Impellerは、3.10でstableになり、
日の目を浴びたSkiaに代わるレンダリングエンジンです。
今回のアップデートで、描画速度が平均でSkiaの頃の約倍になったとか。
広色域
色域の規格でsRGBというのを聞いたことがあるとは思いますが、広い色域のことをそのまま広色域と言います。Impellerを有効にすることで、広色域がデフォルトでサポートされる様です。
まぁ、より色の表現の忠実度が上がったという認識で問題ないかと思います。
Android対応
こちらは今年末にプレビュー版をリリースできる、くらいの進捗感。
とはいえ、既に結構良くなっているみたいなのでリリースが待ち切れないですね!
macOS
プレビュー版が利用可能に!
折りたたみ可能デバイス
折りたたみ可能デバイス対応用の新しいAPIが登場したとのこと。FlutterView.displayがDisplayインスタンスを返すとのこと。
これは物理的なサイズやピクセル比、リフレッシュレートなんかを取得できるみたいですね。
Material
TextField
文字列認識が可能に!
AlertDialog
SwitchやCircularProgressIndicator同様に、AlertDialog.adaptiveが利用可能に!
出典:https://medium.com/flutter/whats-new-in-flutter-3-13-479d9b11df4d
CupertinoDatePicker
monthYearという、年月だけのピッカーに対応!
直近これを自前で実装したのでもうちょっと早く出てきてくれてれば!笑
Radio
useCheckmarkStyleを指定すると、いつものラジオボタンの代わりにチェックマーク表記になるみたいですね。
InputDecoration
InputDecoration.errorというプロパティができたみたいです。
これにより、TextFieldなどのエラー表示をカスタマイズできます。
今までは、カスタマイズしようとするとerrorText, errorStyle, errorMaxLinesなどのプロパティに
より調節していましたがこれがやりやすくなっていそうですね。


その他
ButtonSegmentにtooltipが表示できる様になっていたり、
出典:https://medium.com/flutter/whats-new-in-flutter-3-13-479d9b11df4d
ExpansionPanelListの余白が調整できる様になっていたり、
出典:https://medium.com/flutter/whats-new-in-flutter-3-13-479d9b11df4d
Switchのアウトライン幅が調整できる様になっていたり、
出典:https://medium.com/flutter/whats-new-in-flutter-3-13-479d9b11df4d
NavigationDrawerのタイルのpaddingが調整できる様になっていたり、
出典:https://medium.com/flutter/whats-new-in-flutter-3-13-479d9b11df4d
TabBarをどう配置するか調整できる様になっていたり、
出典:https://medium.com/flutter/whats-new-in-flutter-3-13-479d9b11df4d
Material 3に準拠したelevatedなChipが追加されていたり、
出典:https://medium.com/flutter/whats-new-in-flutter-3-13-479d9b11df4d
SearchBarにonSubmittedが追加されていたり、GestureRecognizerファミリーが追加されていたりと色々変更されていますね!
アプリのライフサイクル
AppLifecycleListenerが追加され、hiddenプロパティも追加されています。hiddenプロパティはアプリが”非表示”になった事を表す抽象ステータスの様です。
出典:https://medium.com/flutter/whats-new-in-flutter-3-13-479d9b11df4d
スクロール
二方向スクロール、つまり縦と横双方向にスクロールすることを可能にする様々なクラスが追加された様です。
ChildVicinityとか聞いたことのない単語が並んでいたりするので要確認ですね。
動作確認はこちらのDartPadにて。
いやー、すごい。
Sliver
Sliverファミリーに、また新たな仲間が追加されたみたいです!
複数のSliverを並べる、SliverMainAxisGroup/SliverCrossAxisGroup。
横軸のスペーシングを提供する、SliverCrossAxisExpanded/SliverConstrainedCrossAxis。Sliver装飾用のDecoratedSliver。
こちらも、動作確認はDartPadにて。
ある大きめのカンファレンスのサイトに載せる、タイムテーブルを作るのにちょうど良さそうとすぐに思いました笑
プラットフォーム
Android
Android14 / API34がサポート対象として追加されました。
iOS
画面回転時の歪みを軽減した様です。
Runnerから変更可能に
これはかなりでかい!笑
複数プロジェクトを触っている人にはあまりにもデカすぎるニュースではないでしょうか。
Flutterプロジェクトを作成した際に、iOSが有効になっていればiosフォルダの中にRunner.xcodeprojが生成されます。
この名前が変更できないため、複数プロジェクトに携わるとXcodeがRunnerだらけになってしまいますw
これが回避できそうですね!
iOS17/Xcode15の準備
iOS14/Xcode15使いたい人は3.13を使ってねとのこと。
ゲーム
Flutter Gamesというwebページを設置し、
ゲーム開発者のサポートを積極的に行なっている様です。
今年7月にAdmobと協力してオンラインセミナーを開催したりもしたみたいです。
Breaking Changes
Material 3
次回の安定版でMaterial 3がデフォルトで有効になるとのこと。
Material 2とMaterial 3の違いについて知りたい方は
こちらのサイトが良さそうです。
Android Support
APIレベル16, 17, 18はサポートバージョンから外れる様です。
ただ、自動でされるわけではないので自分でgradleファイルを変更する必要があります。
Dart
Dart 3.1もリリースされたみたいですね!
これに関してはまた追って記事にしたいと思います。
最後に
駆け足でまとめてみましたが、どうでしょうか?
ここわかりづらいとか説明追加して欲しいとかあれば教えてください!
Twitterフォローお願いします
「次回以降も記事を読んでみたい!」「この辺分からなかったから質問したい!」
そんな時は、是非Twitter (@daiki1003)やInstagram (@ashdik_flutter)のフォローお願いします♪
Twitterコミュニティ参加お願いします
Twitterコミュニティ「Flutter lovers」を開設しました!参加お待ちしております😁
☕️ Buy me a coffee
また、記事がとても役に立ったと思う人はコーヒーを奢っていただけると非常に嬉しいです!




コメント