Firebase チームの開発した AI フレームワーク Genkit
は非常に強力ですが、Flutter/Dart からの利用には、型安全性の確保や Server-Sent Events (SSE) を扱うストリーミング対応など、手動での実装が必要でした。
私はこの課題を解決するため、Firebase Genkit チームのサポートを受けながらクライアントライブラリを開発し、機能拡充に努めています。
本セッションでは、開発に至った動機、他クライアント (Next.js/Angular) との一貫性を意識したインタフェース設計、型安全なストリーミングの実現について、グローバルな開発者コミュニティに向けて英語でお話しします。
なぜ pub.dev には無数の状態管理パッケージが公開されているのでしょうか。なぜ標準の StatefulWidget と InheritedWidget では不十分なのでしょうか。
このセッションでは、Flutter 標準の StatefulWidget/InheritedWidget に始まり、 30 を超える数の状態管理パッケージのドキュメントと実装を追いながら考えた Flutter の「状態管理」をまとめます。
Riverpod に限らない、あなたのプロジェクトにピッタリの状態管理手法が見つかるかも?
iOS26の発表直後、FlutterのHot reloadが実機では動作しない問題が発生し、アプリ開発者は窮地に立たされまさした。
この問題は現代のOSのセキュリティ制約とJITコンパイラが深く関わっています。この課題にどう向き合い、どう解決していったのかを時系列で振り返りましょう。この解決の過程を振り返ることで、フレームワークへの理解が更に進み、FlutterのコアであるHot reload技術についてより深い知見を得ることができます。
フレームワークやVMのアップデートが、どうやって自分たちの開発体験やアプリの品質に直結するのかを追体験しましょう。
iOS 26 から登場する新しいデザインシステム「Liquid Glass」をFlutter上でも再現しようと、有志の方々がパッケージを公開・開発なさっています。
これにより、FlutterはApple社の製品以外のプラットフォームでも Liquid Glass UI で共通化できるフレームワークになる可能性があります。
本セッションでは、Impellerの基本的な描画の仕組みに触れた後、現時点で最も多くのLIKESを集めている liquid_glass_renderer の内部実装を読むことで、カスタムシェーダーを用いたUI実装の仕方を解説します。
liquid_glass_rendererがどういった実装を行なっているか知りたい方
カスタムシェーダーを用いたアプリを作りたい方
シェーダー言語GLSLについて学び始めたい方
自動生成、本当に理解して使っていますか?
riverpod_generator、freezed、go_router_builderなど当たり前に使われている自動生成ですが、その真の価値を理解している開発者は意外と少ないのではないでしょうか。
本セッションでは「自動生成なし」と「自動生成あり」の実装をコードで比較し、各ツールがどんな問題を解決し、開発効率にどう貢献するかを深掘りします。
「なんとなく便利」から「必要不可欠な理由を説明できる」レベルへ。
チームへの導入提案や技術選定において、自信を持って判断できるようになることを目指します。
Flutterでの画面遷移、ついシンプルな切り替えだけで済ませていませんか?
私自身、個人開発している「FoodGram」というアプリで、そうした“ただ切り替わるだけ”の体験に物足りなさを感じたことがきっかけで、ユーザーの記憶に残るインタラクションを目指して「Heroine」パッケージを導入しました。
Heroineは、Flutter標準のHeroウィジェットを拡張し、複数のアニメーション対象をまとめて、連動した遷移として演出できるライブラリです。
本セッションでは、FoodGramでの導入事例をもとに、Heroineの使い方や設計のコツ、UIの“つながり”を意識した演出の工夫を、コードベースで丁寧に解説します。
・Flutterでアニメーションや画面遷移をもっとリッチにしたい方
・個人開発でUXを高めたいと考えている開発者
Widget の「移動」をアニメーションする animated_to というパッケージを開発して公開しました。これを使うと from/to を計算することなく自由に Widget を動かせます。
そんな animated_to は RenderObject をカスタマイズすることで実現しています。from/to の計算、描画位置の更新、これらはいずれも RenderObject の仕事であり、そこに Widget のリビルドは発生しません。リビルドが必要ないのでアニメーションも滑らかです。
このセッションでは、animated_to の実装を例に RenderObject の仕組みとカスタマイズ方法について説明します。
Flutter 3.10から標準になった描画エンジンImpellerは、それまでの標準であったSkiaと比較すると、描画処理の最適化、シェーダーの事前コンパイルにより、特にMetal(iOS,macOS)での動作が大幅に安定しました。
しかし、Impellerの恩恵はそれだけではありません。
描画までの中間コードが削減されたことで、3D描画を実現するFlutter GPUや、高性能化したdart:uiのシェーダー機能など、Flutterの新たな可能性を開く基盤となっています。
本セッションでは、ImpellerとSkiaの描画の仕組みを比較解説し、Impellerが実現した新機能の技術的背景を深掘りします。
Flutterの描画の仕組みを理解したい方
描画エンジンレベルでのパフォーマンス改善を試みたい方
シェーダーによる視覚表現や3D描画に興味のある方