Flutter開発において、ローカルDBの選定は開発体験を左右する重要な要素です。
しかし、ローカルDBは多くの選択肢が存在し、どれを使うべきか悩む方も多いのではないでしょうか?
本セッションでは、それぞれのローカルDBを設計思想・特徴・パフォーマンスの客観的に比較し、選定のヒントとなる基準を明確にしていきます。
さらに、各DBの登場背景やエコシステムとの関係性も比較し、なぜそのDBが選ばれるのか?を明らかにします。
このトークを通して、あなたのFlutterプロジェクトに最適なローカルDBを選定するための「判断軸」を持ち帰っていただけることを目指します。
セッションで話すこと
想定視聴者
「アクセシビリティ、大事なのはわかってる。だけど、どうしても後回しになってしまう」──そんな経験、ありませんか?
私たちのチームもそうでした。初期リリースでは対応できておらず、今も完璧ではありません。
このセッションでは、アクセシビリティ改善の実体験をもとに、今からでも始められることを中心にお話しします。
・今さら対応するのって大変じゃない?
・チーム全体でどうやって意識づける?
・アクセシビリティ改善って正直どこまでやればいいの?
そんな悩みに寄り添いながら、100点を目指さなくても、0点を1点にする方法を一緒に考えます。
“やれてない”を責めるのではなく、“今からやっていける”ことを持ち帰ってもらえる時間にしたいと思っています。
昨今のAIは信じられない速度で進化しており、与えられたトークンをもとに考える能力やスピードは私たちを圧倒していますが、私たちの生活そのものを変えるほどの新たな知識を与えるには、その手法やセキュリティなど多くの問題が存在します。
その答えのひとつとして、モバイル端末という閉じられた環境で動くAIがあると思います。
最近はGemma 3nなどモバイル端末上で動かすことを想定したLLMもでてきており、それらを利用することでよりセキュアかつローコストにAIを利用することができるようになりますが、果たして現状どこまで実用的なのでしょうか?
このセッションでは、実際にLLMをアプリに導入して動かす方法や、モデルに備わったRAGやFunction Callingなどの機能の実装に挑戦し、その実用性に迫ります。
モバイルデバイスでAIを動かしたい方
Flutter開発で頻繁に利用されるBuildContext。しかし、その役割の曖昧な理解は、パフォーマンス低下や予期せぬエラーの要因となります。
本LTでは、UIツリーでのBuildContextの位置と役割、そしてInheritedWidgetがデータ伝達と再構築にどう影響するかを解説します。
「Widgetのどこでcontextを使えばいいのか」が腑に落ちて、状態管理や画面遷移でつまずかないための最初の理解の壁を突破できることを目指します。
Flutterでネイティブ機能を使う方法、いくつ知っていますか?
基本のMethod Channel/EventChannelから、dart:ffiを使った直接バインディング、BasicMessageChannel、
そしてPigeonなどのコード生成ツールまで。選択肢は実に多様です。
「結局どれを使えばいいの?」
「それぞれの違いは?」
このLTでは、主要な連携手法の実装例(Dart側・ネイティブ側)を実際のコードで比較しながら、
それぞれの特徴と適用場面を整理します。
各手法を理解し、プロジェクトに応じた最適な選択ができるようになることが目標です。
昨今、 Claude Code をはじめとする AI ツールの登場により、アプリケーションの開発スタイルは大きく変化を遂げようとしています。
特に、Claude CodeやFigma Dev Mode MCPを活用したコード生成が注目されています。
しかし、FigmaのCode ConnectがFlutterに非対応である点や、生成されるコードの精度に課題がある点など、Flutterとの連携には課題があります。
本LTでは、Figma MCPとClaude Codeを使って、より実用的なUI開発を行うためのTipsを5つご紹介します。
FlutterアプリをAndroid端末でキオスクモード(アプリ固定モード)運用する方法を解説します。Device Owner権限の設定方法、Flutterでの実装、RemoteConfigを使った自動アップデートなど、業務用端末として安定運用するための実践的な知識を5分でお伝えします。
なぜ Key が必要なのか、正しく使わないとどうなるかを実例で比較。
概要
プログラミングへの挫折から再起し、「ノリと勢い」でFlutter開発サークル「ぽちぽちのつどい」を大阪大学に創設した3年間の軌跡を語ります
想定視聴者
Flutterの標準的なジェスチャー検出は強力ですが、特定の開発シーンでは複数のジェスチャーの競合や、ユーザー体験に合わせた独自動作の定義といった課題に直面します。
本セッションでは、こうした課題を踏まえて、Flutterアプリにおけるカスタムジェスチャーの実装例を軸に、Gestureの認識メカニズムや競合解決のアプローチなど、内部処理を含めて掘り下げて解説します。
アプリはコード改竄やリバースエンジニアリングによる脅威に常に晒されています。
デバイスのルート化や不正ツールの利用によってサービス内での不正利用も考えられます。
今回は"デバイスから取得可能な物理データをもとにポイントを獲得できるような機能"を題材にして、
不正対策やセキュリティ向上を考えます。
本セッションでは不正のユースケースに対して取れるアプローチをご紹介します。
FlutterアプリのUI品質を担保する手法としてGoldenTestは非常に有効ですが、 スクロールを伴うWidgetでは一筋縄ではいきません。 本LTでは、まずGoldenTestの基本的な仕組みと利点を解説し、 ScrollViewを用いたWidgetのGoldenTestの実践方法を紹介します。 続いて、Sliverを利用した場合に直面する悩みを取り上げます。その上で、SliverでのGoldenTestを実現するためのテクニックとして、 スクロール量をプログラムで指定する方法や、Finderを活用して特定のWidgetを検出・検証する方法を具体的なコード例とともに解説します。
GoldenTestの幅を広げ、より堅牢なUIテストを目指す方におすすめの内容です。
概要
FlutterでMVVMアーキテクチャを採用した際、
画面遷移処理がViewModelやViewに分散し、責務の分離やテストが難しくなる課題に直面しました。
特に、Navigator.pushや外部リンク遷移がビジネスロジックに混在すると、保守やUIテストが煩雑になります。
そこで本LTでは、MVVMにCoordinatorを組み合わせたMVVM-Cアーキテクチャを導入し、
遷移処理の責務を一元化・明確化した事例を紹介します。
このLTではMVVM-Cについて、以下のポイントを紹介します
想定視聴者
Flutterアプリの運用では、監視ツールを導入するだけでは十分ではなく、「どう使うか」が成果を左右します。
このLTでは、監視ツールを使っていく中で見えてきた、運用フェーズで実際に効果があったTipsを5つに絞って紹介します。
どれも大がかりな仕組みではなく、ちょっとした工夫や設定変更で再現できる内容に絞っています。
「導入はしたけどあまり活用できていない」「もう少しうまく使いたい」という方にとって、すぐ試せる小さな改善のヒントになるはずです。
Flutterアプリの監視に興味がある方
Flutterはモバイルアプリ開発の強力なツールとして確立されていますが、Flutter Webの可能性はまだ十分に認識されていないかもしれません。本セッションでは、Flutter Webの最新の進捗と、特にSEO(検索エンジン最適化)フレンドリーなプログレッシブウェブアプリ(PWA)を構築するための具体的な戦略に焦点を当てます。レンダリングモードの選択(HTML vs Canvas Kit)、ルーティングとURL管理、メタデータの設定、Service Workerの活用など、Flutter Webで高性能かつSEOに強いPWAを開発するための実践的なテクニックを解説します。マルチプラットフォーム戦略におけるFlutter Webの真価を探ります。
Flutter開発者、Web開発者、プロダクトオーナー
アプリリリース後、ユーザーから「アプリが重い」との問い合わせが多数寄せられた経験はありませんか?本セッションでは、実際のプロダクションアプリでパフォーマンス問題に直面した際の調査から改善までの実践的なアプローチを共有します。
Flutter DevToolsを活用したパフォーマンス分析により、不要なリビルド、再描画、UIJankなどの問題を特定し、それらを改善した実体験をもとに、以下の内容をお話しします:
E2Eテストには「カバレッジ向上が大変」、「メンテナンスコストが高い」といった課題があります。AIによるモバイルアプリの自動操作でこれらの課題を解決します。AIがアプリを自動操作することで、E2Eテストの作成においてGUIをコンテキストとして扱うことができるようになります。これによりE2Eテスト作成の精度と効率を向上させます。
また、AIによるモバイルアプリの自動操作はMobile MCPによって実現されます。しかしFlutterのレンダリング方式が原因でそのままでは利用できません。そこでDart VM Service extensionを利用してMCPを拡張し、Flutterアプリに対応させた方法についてもお話します。
E2Eテストの拡充を課題としている方
AI x アプリのエンジニアリングに興味がある方
私たちは日常的にLinterやコードフォーマッター、freezedやjson_serializableといったコード生成ライブラリの恩恵を受けています。これらの強力なツールは、私たちのコードの品質を保ち、開発効率を飛躍的に向上させてくれます。
では、これらのツールはどのようにして私たちの書いたコードを理解し、解析・変換しているのでしょうか? その答えを探る中で重要になるのが AST (抽象構文木) です。
本セッションでは、Dartの公式に提供されているanalyzer
パッケージを使用し、Dartコードがどのように木構造に変換されるのかを解説します。さらに、そのASTを活用して、実際にカスタムLinterやコードジェネレーターがどのように作られているのか、その仕組みと具体的なアプローチをデモを交えながら紹介します。
Flutter製の銀行アプリにFIDOパスキー認証を導入した事例をもとに、クロスプラットフォームでの実装課題と解決策を解説します。ドキュメントにない仕様差や想定外の不具合、検証時の落とし穴など、現場のリアルな学びをお届けします。
Flutterで認証やネイティブ連携を扱いに興味ある方、初級〜上級開発者
本セッションでは、Flutterアプリにオフラインで動作する全文検索(Full Text Search)機能を組み込むために開発したパッケージと、その中で活用した flutter_rust_bridge の実装事例を紹介します。 学習コストが高いとされる flutter_rust_bridge をFlutter開発者がどのように扱えるのかを、具体的なコード例とともにわかりやすく解説します。 さらに、CJK(中日韓文字)への対応や、マルチプラットフォーム対応した話についても共有します。