概要
どうも、@daiki1003です!とうとうやって来ましたね!
毎度お馴染みの新しいアップデートの解説記事になります。
それでは行ってみましょー!
🍁 所感
かなりCupertino
に力を入れてアップデートして来てくれた感がありますね。
個人的に嬉しいアップデート3つ
Row/Column
にspacing
を追加TextSelection
のUX向上DeepLink
のバリデーター追加
今回のアップデートが大事な人
Web
での利用者Objective-C
開発を継続しようとする人Dart 3.0
未満の利用者- IDEでのサポートが切れます
- パッケージ開発者
GitHub
から自動でパッケージリリース出来るGitHub Actions
が出来た- ダウンロード数が表示される様になります
- Swift Package Managerへの対応
Flutter
Deep Linkがデフォルトで true に
Flutter
がデフォルトで Deep Link
をハンドリングしてくれる様です。
もし、これを明示的に true
にしているプロジェクトはそのコードはもう要らなさそうですね。
逆に、 firebase_dynamic_links
, uni_link
, app_links
を利用しているプロジェクトは明示的に false
にする必要があります。
詳しくは http://flutter.dev/go/deep-link-flag-migration
Dart 3 未満を非推奨に
Dart 3
未満を今後はサポートをしなくなるそうです。
Material Designの改良
ThemeData
において、引数の型が XxxTheme
だったり XxxThemeData
だったりします。
これを一部 XxxThemeData
に合わせたよと言った変更になります。
これに伴い、 Xxx.of(context)
から取得出来る値も XxxThemeData
になります。
また、CarouselView.weighted
が追加され、アイテム表示のメリハリが付けられる様になりました。
出典: https://medium.com/flutter/whats-new-in-flutter-3-27-28341129570c
Material Design 3トークン
最新の Material Design 3
トークン (v6.1) が適用されました。
Container
系の色味のマッピングが変更され、コントラストを保ったまま視覚的にアピールする様になりました。
Chip
系や ColorScheme.outline
などを利用している箇所に影響があるそうです。
SegmentedButton
direction
プロパティが追加され、縦に並べることもできる様になりました。
ButtonStyleButton
ElevatedButton
やそれらの良く使うボタンたちの styleFrom
メソッドにアイコンに関するプロパティが追加された様です。
SelectionArea
最近、割とアップデートが多いような?
まぁFlutterは割とテキスト周りまだまだ弱い印象ありますからね。
Shift + Click
ジェスチャーをサポートし、デスクトップ端末でクリックによる選択範囲の拡大が可能になりました。
また、 SelectableRegionState.selectableRegion.clearSelection
で選択解除も出来るそうです。
出典: https://medium.com/flutter/whats-new-in-flutter-3-27-28341129570c
Row/Columnに spacing プロパティが追加
ようやく…か!という気持ちと、サポートする予定あったんですね?という気持ちが笑
もはや、自作で同様の機能を提供していたのでなくても困らないのですがプロジェクトの学習コストを下げるためにも公式でサポートされてるのは嬉しいですね。
spacing
よりは separator
とかの方が個人的には良いかなとは思ったりしますが。
iOS
Objective-C によるプロジェクト作成が非推奨に
flutter create
時の --ios-language objc
フラグが削除されます。
Cupertino(Sliver)NavigationBar
コンテンツが下に来るまで、透明に描画される様になりました。
CupertinoCheckbox, CupertinoRadio, CupertinoSwitch
サイズや色味が本家に近寄り、カスタマイズのためのプロパティがいくつか追加されました。
CupertinoSlidingSegmentedControl
個々のセグメンテーションを無効にしたり、コンテンツによって各セグメントのサイズが変更にされたりします。
CupertinoButton
onLongPress
ハンドラが追加されました。
Cupertino(Date)Picker
タップしたアイテムにジャンプする様になった!
出典: https://medium.com/flutter/whats-new-in-flutter-3-27-28341129570c
ButtonStyleの追加
iOS 15+
で利用されている CupertinoButton
のサイズが利用出来たり、半透明背景の CupertinoButton.tinted
が追加されたりしました。
Compositor Backpressure
高負荷なレンダリング時に、iOSデバイスにて1フレームあたり数msの遅延が起こっていたものが起こりにくくなりました。
特に120Hzのデバイスで顕著だそうです。
DisplayP3
iOS
デバイスでは、sRGB
より鮮明に描画可能な DisplayP3
と言う色域が広いカラースペースを使っています。
これによって、いくつかの Color
のメソッドが deprecated
になった様です。
Swift Package Manager
マイグレーションが進んでいる様です。
また、 main
チャンネルでしか利用出来なかった SPM
が、 beta
や stable
チャンネルでも利用可能になりました!
Firebase
や plus
系のプラグインなどはもう移行が完了しているそうです。
Android
Impeller
デフォルトレンダリングエンジンとして、とうとう Impeller
が採用されました!
--no-enable-impeller
フラグか、 AndroidManifest.xml
の変更でオプトアウトもできる様です。
Edge to Edge
Android 15+
のデバイスではデフォルトで Edge-to-edge
で描画される様になりました。
Freeform
フリーフォームがサポートされました。
アプリのウィンドウをリサイズすることが可能になり、 SafeArea
や MediaQuery
に対応するためのプロパティやメソッドが追加されました。
ビルドスクリプト
build.gradle.kts
が利用可能になりました。
Kotlin
エンジニアには嬉しいサポートですね!
Web
レンダリングがより効率的になったり、 Flutter
チームによって開発されたプラグイン/パッケージは全て WebAssembly
と互換性を持つ様になりました。
DevTools
DeepLink バリデータ
iOS
向けに、ディープリンクのバリデーションツールが追加されました。
データのインポート/エクスポート
DevTools
に表示しているデータデータをエクスポート- ネットワークデータを
.har
ファイルとしてエクスポート - メモリスナップショットのインポート
メモリ関連のデバッグのUX向上
メモリ関連のデバッグをしていて、急に接続が切れたりすると今までであればもう同じ状況は再現出来ずヤキモキしていました。
今後は、最後に表示していたメモリ情報を見ることを再度見ることができる様になりました!
新しい Flutter Inspector
いつも使っている Flutter Inspector
がUI刷新して新登場したそうです。
まだ、プレビュー版とのことですがこれはかなり楽しみですね!
WebAssembly の有効化
WebAssembly
を有効化する設定が追加されました!
EcoSystem
pub.dev でダウンロード数の表示
pub.dev
にダウンロード数が表示される様になりました。
いいねの様な静的な値ではなく、直近のダウンロード数が下記の様に見えるのでパッケージ追加の判断の際に非常に役立ちそうですね。
Pub workspaces
モノレポのための Pub workspaces
と言うのが追加されましたが、これは Dart
の記事で書きたいと思います。
自動パブリッシュ
自動パブリッシュのための GitHub Actions
が追加された様です。
アプリ内課金
iOS
と macOS
において、StoreKit 1
から StoreKit 2
へとアップデートされました。
☕️ 最後に
いかがでしたか?
今回も割と色々なアップデートが入りましたね。
また、近々アップデートするために必要なことをまとめて記事化するので楽しみにしていてくださいね。
誰かのお役に立てば。Twitterフォローお願いします
「次回以降も記事を読んでみたい!」「この辺分からなかったから質問したい!」
そんな時は、是非Twitter (@daiki1003)やInstagram (@ashdik_flutter)のフォローお願いします♪
Twitterコミュニティ参加お願いします
Twitterコミュニティ「Flutter lovers」を開設しました!参加お待ちしております😁
☕️ Buy me a coffee
また、記事がとても役に立ったと思う人はコーヒーを奢っていただけると非常に嬉しいです!
コメント