More Related Content Similar to Flutter_Forward_Extended_Kyoto-Keynote_Summary (20) Flutter_Forward_Extended_Kyoto-Keynote_Summary4. Flutter Forward 概要
Flutter Forward は、
Flutter のこれまでの成果として
開発に役立つツールのライブデモや 実際の活用事例の紹介と、
Flutterのこれから向かう方向について、
ウェブ、モバイル、その他の分野でどのように投資するのか
現在の進捗状況を共有したイベントです。
4
Flutter Forward
https://flutter.dev/events/flutter-forward
開催日時:2023/01/25 PST 06:30-08:30
開催場所:ナイロビ(ケニア)
開催形態:オンライン YouTube Live
6. 6
Keynote 35:00 - 35:17
With this event, we want to give you some sneak previews
of a lot of different features that aren't yet stable quality but
represent work in progress.
Because we don't want just you to buy into Flutter for what
we have today, but also based on where we're going.
Keynote 35:00 - 35:17
このイベントでは、まだ安定した品質ではなく、
多くの開発進行中を表すさまざまな機能の
プレビューを提供したいと考えています。
Flutter の現在の機能だけでなく、
今後の方向性に基づいて判断してもらいたいからです。
Flutter Forward イベント方針
7. おわび
Flutter Forward は、
Flutter がこれから進む方向性を共有するイベントのため、
新機能は、開発中プレビュー版を使った紹介になっています。
このため 安定版 API の提供や 使い方の説明もなく、
アプリ開発で活用できるような具体的な技術情報は限られます。
新技術情報を提供できず、申し訳なく思います。
7
8. 8
Keynote 中では、
GitHub 貢献者数 3位のOSS であることや、
Flutter 3.7 リリースの発表もありましたが、
技術的な詳細に触れられていないものは、
まとめから割愛させていただきます。
報告のみ発表は、割愛します
Flutter 3.7正式リリース。
スクリーンサイズにUIレイアウトが自動対応、GPU活用による高速描画エンジン「Impeller」がプレビューに
https://www.publickey1.jp/blog/23/flutter_37uigpuimpeller.html
18. 18
開発ツール紹介
● Flutter Firebase
● FlutterFlow
● Widgetbook
活用事例紹介
● PUBG MOBILE
● Google
Classroom
Flutter & Dart 新機能プレビュー
● Dart 3α
○ records and patterns
○ Sound null safety
● Dart portability
○ RISC-V
○ WebAssembly
● Flutter web optimizations
● Element embedding
● Pixel shaders
● Flutter News Toolkit
● Wonderous
● FFIgen & JNIgen
● Impeller
○ 3D support
Flutter Forward Keynote Agenda
21. FlutterFlow ライブデモ
21
FlutterFlow - Build beautiful, modern apps incredibly fast!
https://flutterflow.io/
教育機関のメールアドレスがあれば、
学生と教育関係者は FlutterFlow の
プレミアム機能を全て無料で使えるそうです。
FlutterFlow は、
Flutterアプリのビジュアル開発ツールです。
ライブデモでは、2画面を持つアプリを
背景画像を差し替えたり、多言語対応させて作
りあげるだでけなくApp Store にデプロイできる
とも説明されていました。
ライブデモと発表を行った、
CEO Abel Mengistu、CTO Alex Greaves の
お二人は、元Google エンジニア。
22. Widgetbook 紹介
22
Widgetbook - The Custom Widget Library for Flutter
https://www.widgetbook.io/
Widgetbook は、
UIウィジェットをカタログ化するコラボレーション・パッ
ケージです。
使い方としては、アプリ開発プロジェクト内に
Widgetbook 用のプロジェクトを配置して、アプリで
使っている UI Widget を import させれば、
Widgetbook をアプリとして起動すると、
誰でも手軽に UIウィジェットを一覧表示したり、テーマ
や画面サイズごとの外観の変化を確認できるようにな
ります。
ウィジェットのカタログ化パッケージは、
Widgetbook のほかにもコミュニティ内で、
dashbook、monarch、storybook_flutter が
公開されているそうです。
23. PUBG MOBILE 事例紹介
23
PUBG MOBILE
https://pubgmobile.com
"PUBG MOBILE" 開発チームが、
プレーヤー体験のキーパートとなる機能の作成
に Flutter を役立てた事例です。
"PUBG MOBILE" は、
プレーヤーが無人島に降り立ち、
独力またはチームメイトと一緒に最後の1人にな
るまで戦うバトルロイヤルゲーム
24. Google Classroom 事例紹介
24
Google Classroom は、
世界中の 4000万〜1億5000万人以上の生徒
や教師が利用する、教育現場のオンライン学習
を効率化させるコラボツールです。
Flutter により、モバイル コードの 98% を共有す
ることができただけでなく、
現在ベータ版ですが、ブラウザで練習問題をデ
ジタルペンを使って解答できるよう、
WebGL
ベースのグラフィックスキャンバスで手書きを表
現することもできたそうです。
26. Dart 3α
26
Dart 3 安定版は、今年中のリリース予定
Dart 3αは、ファーストプレビュー版
● 新言語機能
○ records (タプル)
○ patterns (パターンマッチング)
● 重大変更
○ 100% null safety
● プラットフォームサポート
○ RISC-V
○ WebAssembly
32. records & patterns ドキュメント
Dart 言語での タプルとパターンマッチングの仕様は、
以下のドキュメントに従うと思われます。
32
Records Feature Specification
https://github.com/dart-lang/language/blob/master/accepted/future-releases/records/records-feature-specification.md
Patterns Feature Specification
https://github.com/dart-lang/language/blob/master/accepted/future-releases/0546-patterns/feature-specification.md
Bringing pattern matching to Dart
https://www.youtube.com/watch?v=KhYTFglbF2k&list=PLjxrf2q8roU3LvrdR8Hv_phLrTj0xmjnD&index=11
33. records & patterns を試す
33
DartPad (Dart master チャネル)
https://dartpad.dev/?channel=master&id
DartPad では、
Dart master channel を
選べば、Dart 3α が利用
できます。
records と patterns を
DartPad で体験してみて
ください。
34. 100% null safety (制約)
● Dart 3 では、100% null safety のコードしか実行できません。
Dart 3 では、すべてのコードが null safety on で実行されます。
このため null safety 非対応 の Dart 2.12 未満や、
Dart 2.12 以降であってもコードファイル中の // @dart=2.9 指定
などで null safety off でビルドされていると実行できなくなります。
備考:通常 Flutter 2.0.0 以上であれば、Dart 2.12.0 以上になっています。
また null 安全移行済みのほとんどのコードは、問題なく動作するとのこと。
34
Sound null safety
https://dart.dev/null-safety
35. 100% null safety (恩恵)
● 100% null safety のおかげでコードが小さく速くなります。
コンパイラは、コードの not null 保証ができるようになることから、
よりコードの最適化ができるようになります。(下記命令数例参照)
Dart 1 では、コンパイラが 26個の マシンコード命令を生成します。
Dart 2 で sound null safety を使えば、マシンコード命令を10個にできます。
Dart 3 は、100% null safety により、マシンコード命令を 3つにできます。
35
36. Dart 3α
● Dart 3α 入手方法
Dart 3 アルファ版は、現在(2023/03/25)
Dart dev チャンネルと Flutter マスター チャンネルで取得可能です。
Dart SDK archive#Dart 3 alpha
https://dart.dev/get-dart/archive#dart-3-alpha
● Dart 3 下位互換性
Dart 3 の重大な変更に依存しないコードであれば、
Dart 2.12.0 以上で上限が 3.0.0 未満のパッケージは、
Dart 3と下位互換性があるとして移行可能です。
Sound null safety#Dart 3 and null safety
https://dart.dev/null-safety#dart-3-and-null-safety
36
下位互換バージョン設定例
environment:
sdk: '>=2.12.0 <3.0.0'
38. Dart portability
38
● RISC-V(リスクファイブ)wikipedia より
縮小命令セットコンピュータ (RISC) の原則に基づいた、
オープン標準の命令セットアーキテクチャ。
使用料のかからないオープンソースライセンスで提供されている。
32、64、128ビットの3つのワード幅と、さまざまなサブセットをサポート。
● WebAssambly については、次の Flutter web optimizations で説明します。
RISC-V
https://ja.wikipedia.org/wiki/RISC-V
RISC-V向けAndroidが本格化、ARMと同等の扱いに
https://gihyo.jp/article/2023/01/android-weekly-topics-230119
41. Flutter web optimizations
41
Flutterの実装は、汎用的なDOMベースの web framework として設計されていない。
目指すのは、新標準アーキテクチャ に特化した the first web framework になることである。
新標準アーキテクチャ⇒ DOM をバイパスしてピクセルを直接描画できるCanvas、
Web で動作する JavaScript 以外の言語である WebAssembly を使った Web Archtecture。
CanvasKit は、Skia を使用して、
Canvas API よりも高度な機能セットをCanvas 要素
に描画する WebAssembly モジュールです。
CanvasKit - Skia + WebAssembly
https://skia.org/docs/user/modules/canvaskit/
CanvasKit - Quickstart
https://skia.org/docs/user/modules/quickstart/
42. Flutter web optimizations
42
● CanvasKit reductions (サイズの縮小)
● Font size reductions (サイズの縮小)
● Deferred loading (遅延読込)
● Improved concurrency(並行処理向上)
Flutter web optimizations
Flutter における Web 最適化として、
CavnasKit や Font サイズをコンパクトにして
遅延読込および同時実行制御を改善したことで、
ページ読み込み時間を40%短縮した。
ページ起動時の読込速度の改善(起動時間短縮)は、これからも続けるとのこと。
43. WebAssembly
43
デモでは、Chrome Canary 上の Flutter カウントアプリの
モジュール構成より main.dart.js と同列に main.dart.wasm が追加され、
Dart コードが WebAssembly にコンパイルされることを明示していました。
これからの Flutter では、
Web 環境で JavaScript を利用せず、
WebAssembly で動作させることが告げられ
ました!
ただし開発版Chrom (Chrome Canary)の
Experimental 機能を必要とするため、
まだ利用できないことも判明しています。
44. WebAssembly
44
デモ機 Chrome Canary の
設定画面(chrome://flags/)より
以下の Experimental 機能が
必要なようです。
● Experimental WebAssembly
● Experimental WebAssembly
JavaScript Promise Integrtion
(JSPI)
● WebAssembly Garbage
Colloction
48. WebAssembly
48
【補足】私の昨年の Google I/O 2022 Extended
Web apps with Flutter: A love letter to modern browsers 報告から抜粋
● 新たなWeb標準の展望 (Webにネイティブアプリの体験を )
すべてのプログラミング言語をWebAssembly のターゲットとするべく、
W3C と Chrome に WASM-GC (https://github.com/WebAssembly/gc)という
WebAssembly にガベージコレクションをサポートさせる追加提案をしている。
WebAssembly
https://webassembly.org/
Web apps with Flutter: A love letter to modern browsers
https://io.google/2022/program/8d2af92f-0fab-4c42-8036-a9a964552f71/
51. 51
ライブデモでは、
Flutter カウンターアプリ コンポーネント が埋め込まれた Web ページが紹介され、
アプリ ⇒ Web は、FAB ボタン タップで、Value テキストボックスのカウント値(緑枠)が
リアルタイムに反映更新される確認だけでなく、
Web ⇒ アプリとしてカウント値変更や、
CSS 操作でのドロップシャドウ、および横表示への変更などをさせていました。
54. Element embedding
前ページの説明
● 左上は、Flutter コンポーネント (赤枠)を埋め込んだ Webページです。
Shadow ボタン(紫枠) や Value テキストボックス(緑枠) も持っています。
○ コンポーネント(カウンターアプリ)は、div 要素 に埋め込まれています。
54
Flutter コンポーネント
<div id=”flutter_target”></div>
Shadow ボタン
<input value="Shadow" data-fx="shadow" type="button" 〜省略〜 />
56. Pixel shaders
56
Pixel shaders は、
ローカルGPUでハードウェアアクセラ
レータを使ったグラフィック効果を実行
させる低レベル関数です。
ライブデモでは、
ブラウザのスライダーに合わせ、リア
ルタイムで画像を粗くしたり高精細表
示させていましたが、いつリリースされ
るか約束できないとのこと。
Writing and using fragment shaders
https://docs.flutter.dev/development/ui/advanced/shaders
【注意】Pixel Sharders
との関連は不明
57. Flutter News Toolkit 紹介
57
ニュースパブリッシャー用のモバイルニュースアプ
リ開発用テンプレートです。
Firebase と Google Mobile Ads を含み、
データ分析、ソーシャルログイン、通知などが用意
されており、一部の先行ユーザーは、開発時間を
最大 80%短縮できたとのこと。
News Toolkit
https://flutter.dev/news
flutter/news_toolkit
https://github.com/flutter/news_toolkit
Overview | Flutter News Toolkit
https://flutter.github.io/news_toolkit/
59. FFIgen & JNIgen
59
FFI は、
forigin function interface の略称です。
Dartから他のプログラミング言語の API を呼び出
す相互運用を表します。
ライブデモでは、
ffigen.yaml に Objective-C の API 設定を記述し、
jnigen.yaml に Android - Java の API を記述して、
Dart から直接ネイティブAPI が利用できることを
紹介しています。(MethodChannel を使わない)
FFIgen は Dart から C API を、
JNIgen は Java Native Interface API との「相互運用性のためのパッケージ」です。
pub.dev に同名のプラグインが有りますが、現行とデモ版とでは仕様が異なっています。
63. 63
生成された Dart ⇒ ネイティブAPI
バインディング(xxxxxxxx_binding_generated.dart) の
コード内容は、このようになっています。
65. FFIgen & JNIgen
ライブデモで利用された FFIgen と JNIgen は、試験運用版です。
● iOS/macOSでは、FFI に Swift と Objective-C のサポートを追加中です。
● Android では、FFI と Android の Java Native Interface (JNI) を利用して、
Kotlin 記述の Jetpack ライブラリと Java 記述の Android ライブラリを
呼び出すことができるようにするそうです。
● ネイティブコードのヘッダー/インターフェース ファイルに基づいて、
言語間の相互運用コードのバインディングを自動生成させるそうです。
65
iOSの Core Motion APIと Androidの HealthConnect API を呼び出すデモアプリ
flutter/samples/experimental/pedometer
https://github.com/flutter/samples/blob/main/experimental/pedometer
67. Impeller + 3D support
67
複数アニメーションの描画デモ
左側の Skia が 7〜10fpsに対し、
右側の Impeller は 60fpsを出す。
Impeller は、ハイパフォーマンスだけでな
く、新しいユースケースのサポート(例として
3D描画)にも対応します。
3D対応は、まもなく公開されるとのこと
76. Flutter Forward #AskFlutter
Part 1
76
John Ryan - Flutter and Dart team
Kate Lovett - Flutter framework team
Rody Davis - Material Design team
Taha - Flutter contributors
77. #AskFlutter - Part 1
● Material 3 への移行を開始する適切な時期はいつですか
?
進捗とロードマップの確認はどうしたらよいのですか?
Material 3 への移行は、“今すぐ”です。
ThemeData で “useMaterial3: true” と設定しましょう。
サポート済みのウィジェットは、new colore scheme 表示に変わります。
ThemeData の useMaterial3 プロパティのAPIドキュメントにアクセスして、
サポートされているウィジェットの一覧をご確認ください。
ドキュメントにミスがあれば、バグレポートを送ってくださいとのこと。
77
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
ThemeData class - useMaterial3 property
https://api.flutter.dev/flutter/material/ThemeData/useMaterial3.html
78. #AskFlutter - Part 1
● Material 3 を完全に組み込んでいるサンプルアプリはありますか?
セッション動画(Material 3 from design to deployment)で利用した、
Pestoというレシピ発見アプリがあります。
また“reply”サンプルベースの flutter_adaptive_scaffold というパッケージもあります。
補足:NavigationRail や BottomNavigationBar は、大きく変わってますとのこと。
78
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
Material 3 from design to deployment ⇒ https://www.youtube.com/watch?v=7nrhTdS7dHg
material-foundation/pesto_flutter ⇒ https://github.com/material-foundation/pesto_flutter
flutter_adaptive_scaffold 0.1.2 ⇒ https://pub.dev/packages/flutter_adaptive_scaffold
79. #AskFlutter - Part 1
● Material 3が完全に サポートされるのはいつですか?
移行を簡単に済ませられるよう、影響範囲を最小限にしたいことと、
Flutterをアップグレードしたために困った事態が起きないようにするため、
今のところ、まだ少しフォローアップが必要な段階です。
一部のウィジェットはMaterial 2 バージョンからシグニチャの変更がないので、
そのまま Material 3 のウィジェットに置き換え可能なものもありますが、
将来的には、置き換えるべきウィジェットの組み合わせと
Material 3 の効果を最大限に得るために微調整が必要なウィジェットについて
ガイドをまとめてユーザーに公開したいそうです。
79
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
80. #AskFlutter - Part 1
● FlutterでMaterial 2のサポートを 廃止する予定はありますか?
もし廃止するならスケジュールはどうなっていますか?
ライブラリについては、ほぼ完了しており、
ウィジェットはすでにほとんどMaterial 3 の仕様に移行していますが、
全て完了するのがいつになるのか、今はまだはっきりしていないそうです。
Material 2 のすべての機能を廃止しないが、
IDE のアナライザー警告がでるので、
IDE のクイックフィックス機能やfix コマンドを使った修正を勧めています。
80
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
dart fix | Dart ⇒ https://dart.dev/tools/dart-fix
Flutter Fix | Flutter ⇒ https://docs.flutter.dev/development/tools/flutter-fix
81. #AskFlutter - Part 1
● Flutterを学ぶための資料はどこで入手できますか?
flutter.dev サイト、APIドキュメント、Codelabs、サンプルリポジトリ...
たくさんのコンテンツが公開されてるので自分の好きなスタイルをどうぞとのこと。
81
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
Flutter documentation | Flutter ⇒ https://docs.flutter.dev/
Flutter - Dart API docs ⇒ https://api.flutter.dev/
Codelabs & workshops ⇒ https://docs.flutter.dev/codelabs
flutter/samples リポジトリ ⇒ https://github.com/flutter/samples
Google Codelabs - Flutter ⇒ https://codelabs.developers.google.com/?product=flutter
82. #AskFlutter - Part 1
● どうすれば Flutterの コントリビューターになれますか?
Contributing to Flutter ガイドを まず読んで
問題を探し 自分で修正できそうだと思える問題を選択してください。
問題の解決に自信があるのでしたら、テストを書き、
PRを書き、
レビューを受けて PR を承認してもらうプロセスに進みましょう。
これらのプロセスや大量の問題に取り組むことに慣れてくださいとのこと。
82
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
flutter/CONTRIBUTING.md - Contributing to Flutter
https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md
83. #AskFlutter - Part 1
● 全ての Material 2 ウィジェットを、Material 3 ウィジェットに対応させるのですか
?
大抵のウィジェットは、Color と Semantics の両方とも以前と一致してますが、
現在のデザインに影響を与えるような大幅に変更されたウィジェットもあります。
ですので Material 3 の新しいデモアプリや、(以前に回答した)サポート済み
ウィジェットの一覧やAPI ドキュメントをチェックしてくださいとのこと。
83
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
(注)具体的なリンクが明示されていないので確証はありません。
Material Design for Flutter | Flutter ⇒ https://docs.flutter.dev/development/ui/material
Flutter – Material Design 3 ⇒ https://m3.material.io/develop/flutter
Material 3 ⇒ https://flutter.github.io/samples/web/material_3_demo/#/
85. #AskFlutter - Part 2
● デスクトップで Firebaseの フルサポートを受けられるのはいつですか?
(デスクトップ ⇒ Flutter for Windows)
Flutter での Firebase は、フェデレーションプラグイン方式を採用しています。
これは、ターゲットとする機能をFlutter で直接実現するのでなく、
ラップしている iOS や Android などのベースとなるプラットフォームを介して、
そのシステム用に提供されている機能を利用させてもらう相互運用方式です。
Windows は、Firebase がまだ完全に対応していないプラットフォームのため、
いつサポートができるようになるかは断言できない
…とのことです。
85
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
86. #AskFlutter - Part 2
● firebase.flutter.devのコードサンプルが 更新されないのはなぜですか?
Firebase の Flutter ライブラリは、昨年のGoogle I/Oで firebase.flutter.dev から
google.com での公式管理に切り替わり役目を終えています。
(アーカイブ済み)
ですが Flutter用の独自記述によりFirebase 公式に適合しないページがあったため、
公式の最新ドキュメントへのリンクを入れて公開を続けているのです。
ドキュメント間の不一致を調べている最中なので、協力を要請されています。
86
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
https://firebase.flutter.dev/ ⇒ アーカイブであり最新情報は 以下を参照と注記済み
https://firebase.google.com/docs/flutter/setup#available-plugins
87. #AskFlutter - Part 2
● Firebase SDKに関して 何か知っておくべき新しいことはありますか?
現在の Firestore には、ドキュメント総数のカウントがサポートされています。
RDBでは、SELECT * とか COUNT * でターゲット総数を簡単に得られるのに対し、
NoSQLデータベースでは、原理上カウントするという選択肢がないのですが、
現在のFirestoreには、Firebase ドキュメントの総数を取得する
count() 集約クエリのサポートが追加されています。
87
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
注: この機能は公開プレビュー版です。
集約クエリを使用してドキュメントをカウントする
https://firebase.google.com/docs/firestore/query-data/aggregation-queries?hl=ja
88. #AskFlutter - Part 2
● (iOS や Android では非同期呼び出しになっていないのに)
Firebase Flutter SDK では、非同期呼び出しが多いのはなぜですか?
ネットワークを介してサーバーからの結果を受け取る理由だけでなく、
フェデレーションプラグインのため相互運用先の結果を非同期で待つ必要があるから
…とのこと。(プラグインは非同期メソッドMethodChannel#invoke を利用する)
88
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
MethodChannel#invokeMethod<T> method
https://api.flutter.dev/flutter/services/MethodChannel/invokeMethod.html
Writing custom platform-specific code
https://docs.flutter.dev/development/platform-integration/platform-channels
89. #AskFlutter - Part 2
● アプリを再起動するとログインユーザーがnull になるのはなぜですか?
Firebase Authentication は、
ログイン・ユーザーの認証情報をローカルストレージに保管しますが、
アプリ再起動時には、アプリが止まっている間にユーザ情報に変更がないかを
サーバーに確認しにいくので、完了までの間はnull になります。
89
この Q/A は、意訳と認識してください。
誤訳があると存じますので指摘をお願い申し上げます。
詳細な説明や具体的な対応のサンプルコードとして、
下記の公式ドキュメントとスニペットを確認してくださいとのこと。
Firebase でユーザーを管理する
https://firebase.google.com/docs/auth/unity/manage-users?hl=ja
91. 動画元リンク
91
Flutter Forward #askflutter - Part 2
https://www.youtube.com/watch?v=Ak-xlSOg-7g&list=PLjxrf2q8roU3LvrdR8Hv_phLrTj0xmjnD&index=5
Flutter Forward #askflutter - Part 1
https://www.youtube.com/watch?v=7740DZrN75c&list=PLjxrf2q8roU3LvrdR8Hv_phLrTj0xmjnD&index=19
Flutter Forward Keynote
https://www.youtube.com/watch?v=goL7tvLQ7Dw&list=PLjxrf2q8roU3LvrdR8Hv_phLrTj0xmjnD&index=3
Flutter Forward 再生リスト
https://www.youtube.com/playlist?list=PLjxrf2q8roU3LvrdR8Hv_phLrTj0xmjnD
92. 関連資料リンク
92
Announcing the Flutter News Toolkit
https://medium.com/flutter/announcing-the-flutter-news-toolkit-180a0d32c012
Introducing Dart 3 alpha
https://medium.com/dartlang/dart-3-alpha-f1458fb9d232
What’s new in Flutter 3.7
https://medium.com/flutter/whats-new-in-flutter-3-7-38cbea71133c
What’s next for Flutter
https://medium.com/flutter/whats-next-for-flutter-b94ce089f49c
How it’s made: Holobooth
https://medium.com/flutter/how-its-made-holobooth-6473f3d018dd
Adapting Wonderous to larger device formats
https://medium.com/flutter/adapting-wonderous-to-larger-device-formats-ac51e1c00bc0