ビギナーズLT

何がFlutterアプリを重くするのか?実測と最適化

nato_ring ring

概要

みなさんはどれくらいアプリのパフォーマンスを意識して開発していますか?

アプリの起動が遅い、アニメーションがかくつく、端末が熱くなるなどは、なかなか表だった不具合として姿を現しませんがアプリ利用者の不満に直結する極めて重要な課題です。

Flutterアプリの開発においてはDevToolsを活用することで定量的にパフォーマンス情報を取得・診断し”なんとなく重い”原因を突き止めることができるほか、アプリの品質改善にも役立ちます。

本セッションでは実際にDevToolsを使って描画遅延の原因を特定しパフォーマンスを改善する事例を共有します。

想定視聴者

・ Flutterでプロダクト開発を行っている方
・ DevToolsの存在は知っているが、活用できていない/部分的にしか使っていない方
・ アプリの品質を改善したい方

1
ビギナーズLT

さよならハードコーディング!スプレッドシートとCIで実現する、非エンジニアも巻き込むFlutter多言語対応

アカマツタイキ

「その文言、どこで使ってたっけ?」文言修正のたびにソースコードを漁り、多言語対応のファイル管理で疲弊していませんか?
本LTでは、その課題をスプレッドシートとCIで解決する、モダンな多言語対応フローを共有します。Flutterの文字管理ライブラリ「slang」、Googleスプレッドシート、GitHub Actionsを連携。非エンジニアがスプレッドシートを更新すると、アプリで利用する文言コードが自動生成される仕組みです。
手作業による修正漏れや衝突を撲滅する、未来のローカライズ管理術をご覧ください。

想定視聴者:
・ Flutterアプリの多言語対応に課題を感じている方。
・ 非エンジニアとの文言修正のやり取りを効率化したい方。
・ GitHub Actionsを使った開発フローの自動化に興味がある方。

ビギナーズLT

お前も「開発スピードの鬼」にならないか?〜要件定義からデザイン、実装まで貫くAI駆動開発〜

アカマツタイキ

要件定義、デザイン、実装。かつてはチームが必要だった全工程を、もし一人で、しかも数時間で完遂できるとしたら?本LTでは、その常識をAIツール群で破壊し、一つのアプリを完成させた反則的開発フローを共有します。
Geminiを「壁打ち相手」、FigmaのAIプラグインを「デザイナー」、Cursorを「最強のペアプログラマー」とし、一人三役を可能にする手法とコツを解説。AI時代の新たな開発スタイルをお見せします。

想定視聴者:
・ アイデアを高速で形にしたい全てのFlutter開発者。
・ デザインから実装まで一人でこなすことに課題を感じている方。
・ AIツールの具体的な連携や活用事例に興味がある方。

採択
ビギナーズLT

BuildContextの正体とInheritedWidgetの仕組み

hecuhecu Hiroki Kawamura

概要

Flutter開発で頻繁に利用されるBuildContext。しかし、その役割の曖昧な理解は、パフォーマンス低下や予期せぬエラーの要因となります。

本LTでは、UIツリーでのBuildContextの位置と役割、そしてInheritedWidgetがデータ伝達と再構築にどう影響するかを解説します。

「Widgetのどこでcontextを使えばいいのか」が腑に落ちて、状態管理や画面遷移でつまずかないための最初の理解の壁を突破できることを目指します。

想定視聴者

  • contextの扱い方に自信がない方
  • Widgetのどこでcontextを使うべきか迷うことがある方
  • 状態管理や画面遷移で「なぜか動かない問題」に直面した経験がある方
1
ビギナーズLT

Flutterアプリ開発におけるオフライン対応:繋がらない場所でも最高のUXを

komugi8448 横山 瑛太郎

不安定なネットワーク環境でもアプリがスムーズに動くことは、ユーザー体験を大きく左右する。

オフラインでも快適なUXを実現するには大きく以下の3つのアプローチが有効。

データの永続化: オフラインでも情報の閲覧・入力ができるように、デバイス内にデータを保存する。HiveやSQFliteライブラリが役立つ。

バックグラウンド同期: ネットワーク回復時に、ユーザーに意識させず自動でデータを送受信する。Workmanager活用すればアプリがバックグラウンドにいても定期的に、あるいはネットワーク状態の変化を検知して同期処理を実行できる。

UI/UXのオフライン最適化: オフライン時でも違和感なくアプリを操作できるよう、UI設計が鍵。例えば、データのローディング表示、オンライン/オフライン状態の明示、入力データのオフラインキューイングなどで、ユーザーはストレスなくアプリを使い続けられる。

採択
ビギナーズLT

Flutter ネイティブ連携手法 2025

fox9s atsumi3

Flutterでネイティブ機能を使う方法、いくつ知っていますか?
基本のMethod Channel/EventChannelから、dart:ffiを使った直接バインディング、BasicMessageChannel、
そしてPigeonなどのコード生成ツールまで。選択肢は実に多様です。

「結局どれを使えばいいの?」
「それぞれの違いは?」
「Flutter 3.29で入ったスレッドマージングでどう変わる?」
このLTでは、主要な連携手法の実装例(Dart側・ネイティブ側)を実際のコードで比較しながら、
それぞれの特徴と適用場面を整理します。

各手法を理解し、プロジェクトに応じた最適な選択ができるようになることが目標です。

ビギナーズLT

AI駆動で技術的負債を解消!個人開発の大規模リファクタをAIで“なるべく楽”してみた

midori_work みどり

概要

個人開発で2年間運営してきたFlutterアプリが、コードの肥大化と複雑な状態管理により、メンテナンス困難な状況に陥っていました。数百行に及ぶUIロジックの散在、Provider・StateNotifier・グローバル変数の混在、アーキテクチャの不統一による依存関係のスパゲッティ化など、技術的負債が深刻でした。
この課題に対し、DevinやCursorといった最新のAI開発支援ツールを活用し、リポジトリごと刷新するレベルの大規模リファクタをなるべく楽をして行いました。

想定視聴者

  • 技術的負債に直面しつつ、改善に踏み出せていないFlutter個人開発者
  • 小規模チーム・スタートアップなど、人的リソースが限られた中でリファクタリングを検討している方
  • Flutterアプリ開発におけるAI支援ツール(ChatGPT, Cursor, Devinなど)の活用法を知りたい方
ビギナーズLT

Result型を使って型安全なエラーハンドリング! 〜MVVMベースのアーキテクチャでの実践例〜

miso_shiru_app みそしる

概要
Flutterアプリ開発において、エラーハンドリングは避けて通れない課題です。try-catchでの例外処理は型情報が失われ、エラーの見落としやランタイムエラーの原因となります。

本LTでは、Dart 3のSealed Classを活用したFlutterの公式ドキュメントに準拠したResult型パターンを用いて、型安全なエラーハンドリングをRiverpodを用いたMVVMベースのアーキテクチャで実現する方法を紹介します。

想定視聴者

  • Flutterアプリ開発でエラーハンドリングに悩んでいる方
  • MVVMアーキテクチャに興味がある方
  • 型安全な設計を追求したい方
採択
ビギナーズLT

ノリと勢いでFlutter専門サークルを創設したら3年目に突入した話

miso_shiru_app みそしる

概要

プログラミングへの挫折から再起し、「ノリと勢い」でFlutter開発サークル「ぽちぽちのつどい」を大阪大学に創設した3年間の軌跡を語ります

想定視聴者

  • プログラミング学習者・初心者:学習における挫折経験や効果的な学習方法、モチベーション維持に関心がある方々。
  • プログラミングサークル・学生コミュニティ運営者:サークル設立・運営の課題、メンバー集め、組織化、外部連携、そして円滑な継承に関心がある方々。
  • 学生エンジニア全般:実践的なチーム開発経験、技術的学び、そして学生コミュニティでの交流や成長に興味がある方々。
ビギナーズLT

デザインとコードを繋ぐ!Flutter Custom Theme と Figma デザイントークンで開発を加速する

kyappamu kyappamu

FigmaをもとにしたFlutterアプリ開発で、デザイナーとのデザイン情報の伝達やカラーやテキストスタイル等のコード上での管理に課題を感じていませんか?

本セッションでは、Figmaデザイントークンを導入し、プロジェクト内のあらゆるデザイン定義を一元管理し、Flutter側ではThemeExtensionを用いてデザイントークンと一致するカスタムテーマを構築した事例を紹介します。

この手法により、デザインとコードが一気通貫でつながり、共通言語が生まれたことで認識齟齬を解消。UI変更にも迅速かつ正確に対応できる開発体制が実現しました。

デザインとコードに一貫性を持たせ、開発を加速させるヒントをお届けします。

対象者

  • デザイナーとの認識齟齬や、UI修正の手戻りを減らしたいエンジニアの方
  • 「Figmaと実装が違う」という問題を根本から解決したい方
ビギナーズLT

FlutterローカルDBの羅針盤:選定基準と進化の背景を探る

hecuhecu Hiroki Kawamura

概要

Flutterアプリ開発においてローカルデータ永続化は不可欠ですが、数ある選択肢の中から「どれを選ぶべきか?」と悩む方も少なくないでしょう。
本LTでは、FlutterローカルDBの主要な選択肢それぞれの技術的特性を客観的に解説し、各DBが誕生した背景にある理由を分かりやすく紐解きます。
このトークを通して、ご自身のプロジェクトに最適なローカルDBを選定する基準をお持ち帰りください。

想定視聴者

  • ローカルDB選定に悩んでいる方
  • 既存DBの利用に課題を感じ、より良い解決策を探している方
  • Flutterにおけるデータ永続化の進化の背景とその技術的選択肢を知りたい方
採択
ビギナーズLT

MVVM から MVVM-C に変えてみた話 〜画面遷移どうしてる?〜

ts00484515 陳 信瑜

概要
FlutterでMVVMアーキテクチャを採用した際、
画面遷移処理がViewModelやViewに分散し、責務の分離やテストが難しくなる課題に直面しました。
特に、Navigator.pushや外部リンク遷移がビジネスロジックに混在すると、保守やUIテストが煩雑になります。

そこで本LTでは、MVVMにCoordinatorを組み合わせたMVVM-Cアーキテクチャを導入し、
遷移処理の責務を一元化・明確化した事例を紹介します。

このLTではMVVM-Cについて、以下のポイントを紹介します

  • MVVMのおさらい
  • なぜCoordinatorがいるのか?
  • 実際どんな構成になったか
  • 画面遷移テストが楽になる話

想定視聴者

  • MVVMアーキテクチャを使用している方
  • 画面遷移が複雑になってきて不安な人
  • 画面遷移テストに苦しんでいる方
  • アーキテクチャに興味ある方
ビギナーズLT

ここが変だよ!AIレビュー 〜AIにコードレビューさせたら大変なことになった話〜

_matatabiz Junichi Masuko

GitHub CopilotやClaude CodeなどのAIツールがコードレビューに進出する中、モバイルアプリ開発でも活用が進んでいます。

本LTでは実際にAIレビューで起きた珍事件を紹介します。
存在しないAPIを提案する、過剰な最適化を求める、テストコードにマジックナンバー回避を強要する、急に英語でまくしたてる、絵文字に気を取られる...思わず「それは違うだろ!」とツッコミたくなる事例ばかり。

しかしAIレビューを否定するのが目的ではありません。
これらの失敗から学んだ「AIレビューとの正しい付き合い方」として、実際のプロジェクトに導入できるルール化手法をお見せします。

AIは優秀なアシスタントですが、適切なガードレールがあってこそ真価を発揮します。
AIツールを使い始めた方、導入を検討している方に、共感と実践的な知見をお届けする5分間です。

ビギナーズLT

AI初心者がFlutterプロジェクトにAIを導入した結果

doiDoi0104 土井星太朗

本セッションでは、iOS(Swift)開発を主に担当してきたエンジニアが、業務上の要件によりFlutterによるクロスプラットフォーム開発に挑戦した際に、AIアシスタント(Cursor + GPT)を活用しながら実装・テストを進めた実体験を紹介します。
Dartの言語仕様、FlutterのWidgetツリー、テストの書き方、状態管理パターンなど、慣れない技術に対して、手探りではなくAIとの対話を通じてキャッチアップと実装を同時に進行させたことで、短期間でも一定の成果を出すことができました。
本発表では、AIを開発支援ツールとして活用して習得と実装を両立できた経験談を話したいと思います。

ビギナーズLT

Flutterで機密情報を守れ!〜トークン漏洩を防ぐための秘策〜

GitHubにAPIキーをうっかりPush…
FirebaseやAWSのトークンがAPKにそのまま埋め込まれてた…
それ、実はよくある事故なんです。

アプリ開発では外部サービスとの連携が欠かせない一方、機密情報の取り扱いが常に課題になります。
Flutterでも、これをしっかり対策しないと アプリの信頼性が一気に下がることに…!

このLTでは、「Flutterで機密情報をどう守る?」というテーマで、
難読化や暗号化といったFlutter内でもできる対策を中心にご紹介します。

想定視聴者

  • 外部APIなどを扱うFlutterアプリを開発している方
  • トークン管理やセキュリティに不安がある方
  • 安全な実装って、結局何をすればいいの?」と思っている方
ビギナーズLT

アニメーションって、もっと自由にできる!?Flutter×Riveで魅せる動きの世界

いいねボタンを押した時、ローディング中の演出、タブ切り替え時のアニメーション...
アプリの"気持ちいい体験"は、ちょっとした動きが鍵を握っています。

Flutterでアニメーションを実装していて、こんな風に思ったことはありませんか?

  • いいね解除って、さっきのアニメーション逆再生すれば済むのでは?
  • 通信状況に合わせてアニメーション速度を変えたい…
  • タップに応じて動きを切り替えたいけど、そんなことできる?

その「もっとこうしたい」、実はFlutterでも実現できるかもしれません。

このLTでは、Flutter×Riveを使ってアニメーションを簡単に制御する方法を、実例ベースでわかりやすくご紹介します!

想定視聴者

  • アニメーションに挑戦してみたい方
  • もう一歩進んだ表現をしたい方
ビギナーズLT

ほぼAI任せ!?Flutter初心者がAIと共に挑むSNSアプリ開発

真野宗和

「UXグロースモデル」を読んだエンジニアが、その学びを活かすべくSNSアプリの個人開発に挑戦!
複数のプラットフォームでの展開を目指し、Flutterを選択したものの、その経験はチュートリアル程度というまさに初心者からのスタート・・・

この無謀な挑戦をClaude CodeとGitHub Copilotに「丸投げ」する形で実現した事例を紹介します。
Claude Codeでコーディングし、GitHub Copilotにコードレビューを担当させるという、まさに「AI任せ」の開発スタイル。
Flutter初心者がどこまでプロダクト開発を進められるのか、その可能性と実際の体験談をお話しします。

AI駆動開発のリアルな現場で得られた学びや、直面した課題、そしてそれらをどう乗り越えたか。
AIを活用した開発に興味のある方、生成AIの活用事例を知りたい方へ、実践的なヒントを提供できれば幸いです。

ビギナーズLT

同じスプラッシュ画面実装じゃない!

ソミ

アプリの第一印象を左右するスプラッシュ画面。
flutter_native_splash パッケージを使えば数分で簡単に設定できる...と私も最初は考えていました。
ですが、Android特有の"ある挙動"を知らず、思わぬところで何時間も悩むことになりました。

本LTでは、スプラッシュ画面実装時にAndroidアプリで直面した予想外の挙動の原因と、
その背景にあるAndroid独自の特性、そして対処法について、
自身の経験を交えながら分かりやすく解説します。

2
採択
ビギナーズLT

Server-Driven UIでアプリを作る

tkmssh Take

Server-Driven UIでプロダクト開発してますか?

Server-Driven UI(SDUI)はAirbnbが用いた設計手法でUIの構造、レイアウト、さらには一部の動作ロジックを、クライアント側ではなくサーバー側で定義・制御するアーキテクチャパターンです。

モバイルアプリ開発においてA/Bテスト等でUIを分ける際にいくつかやり方があるかと思いますが、
このLTではStacというFlutter専用のSDUIのFrameworkを用いた紹介をします。

1
ビギナーズLT

CSVで実現する、語順とリッチテキストに強いFlutterグローバル化アーキテクチャ

ケンタ

Flutterアプリのグローバル化対応、.arbファイルのキー分割やコードへのタグ埋め込みに悩んでいませんか?それは標準的な手法が持つ限界のサインかもしれません。グローバルアプリには、単純なキー値置換では乗り越えられない「語順」と「リッチテキスト」という大きな壁が存在します。

言語ごとに異なる文の構造、あるいは「利用規約に同意する」のような部分的なスタイル適用。これらに無理やり対応しようとすると、翻訳テキストは分断され、メンテナンスコストとヒューマンエラーを増大させます。

本トークでは、これらの課題をスマートに解決する「CSV主導」のグローバル化アーキテクチャを提案します。非技術者である翻訳者との協業を円滑にし、真にスケーラブルなグローバル化を実現しましょう。

1