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




コメント