概要
どうも、@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
また、記事がとても役に立ったと思う人はコーヒーを奢っていただけると非常に嬉しいです!
コメント