なぜ Key が必要なのか、正しく使わないとどうなるかを実例で比較。
Flutterで日常的に使うものの、内部挙動や落とし穴が意外と理解されていないWidget をランキング形式で紹介。 上位5つを取り上げ、それぞれの誤解ポイントと正しい使い方を凝縮して解説します。
Flutter アプリの e2e テストは、Flutter Integration Test や Maestro 等ありますが、e2e を全て実現しようとすると開発コストが嵩み、e2e テストの運用・保守は属人化しやすく、仕様変更への追従も困難です。
この課題に対し QA 仕様書から生成 AI を用いて Playwright を Flutter Web で実行できるようにしました。
本セッションでは e2e テストにおける効果的なプロンプトエンジニアリングや Playwright による e2e テスト環境構築の方法を紹介します。また導入効果の試算やチーム運用メソッドなど、開発プロセスを改善するために役立つ実用的な知見を共有します。
Simplexは約4年前から金融領域を中心にFlutterを活用した本番アプリ開発を推進し、近年はFlutter Webのサービス開発・運用にも挑戦しています。クロスプラットフォーム開発の強みを活かす一方、実際の現場では、下記のように多様な課題と向き合うことになりました。
本セッションでは、本番運用の現場で直面した課題と解決のプロセスを包み隠さずご紹介することで、
「Flutter Webの“できない”を“できる”に変える」ためのヒントや戦略をお持ち帰りいただけます。
プログラミングへの挫折から再起し、「ノリと勢い」でFlutter開発サークル「ぽちぽちのつどい」を大阪大学に創設した3年間の軌跡を語ります。
Flutterアプリを2年以上運用する中で直面したスクロールのカクつき、メモリ肥大化などのパフォーマンス低下を解決した実践的手法を紹介します。
このセッションでは、以下の内容についてお話しします:
Google が、先月6月10日にリリースした Android 16 QPR1 Beta 2 では、Pixel 9 など対応 Android デバイスでの Connected display サポートが追加されています。
これは、モバイルアプリでも、外部接続したディスプレイへの対応、つまりユーザーへのマルチウィンドウ+デスクトップ体験の提供が求められることを示します。
任意サイズに拡大縮小できるウインドウへの Adaptive UI / Responsive UI 対応だけでなく、キーボードやマウスでの操作や、マルチウィンドウによる、画面上の他のアプリとのデータ連携について、情報共有したいと思います。
・Android プラットフォーム対応エンジニア
・モバイルアプリの大画面対応や、ファミリーサービス連携対応予定のエンジニア。
「ゼロからFlutterチームを立ち上げる」。私たちの挑戦は、業務でのFlutter開発経験がない3名のAndroidエンジニアが新規事業にアサインされるところから始まりました。 事業スピードを落とさずに高品質なアプリを開発するという課題に対し、私たちが選択したのは「外部パートナーとの協業」という道でした。この事例共有を通じて、チームの立ち上げから自走に至るまでのリアルな道のりをお伝えできればと思います。
Flutter で複雑かつ高パフォーマンスなスクロール UI を実装する際、 Sliver は避けて通れない概念です。
本セッションでは、まず Sliver の概念を詳細に解説します。その上で、 CustomScrollView と各種 Sliver ウィジェットを組み合わせたベストプラクティスを紹介します。
さらに、単一の ScrollView に複数の ScrollController がアタッチされた際に発生するエラーなど、具体的な問題を取り上げます。 ScrollController のライフサイクル管理や、 ScrollNotification を活用した複雑な要件の対処法を紹介します。
Flutter の Rive アニメーション実装において、通常は rive パッケージを利用しますが、 Flutter 内の Renderer で処理しない Rive Renderer と呼ばれる高性能なランタイムを統合する rive_native が存在します。
本セッションでは、 rive_native の役割を解説します。rive_native は Rive に導入された一部新機能を Flutter に適応させるために必要です。具体的には、データとアニメーションを連携させる data binding 機能やレスポンシブな Rive を再現する機能があります。これらの機能をユースケースを交えて紹介します。
このセッションでは、Maestroに焦点を当て、integration_test, Patrol, Firebase App Testing Agent, MagicPodとの比較や、FlutterでE2Eテストを構築するための具体的なコードの書き方、テストコードの書き方を解説します。
さらに、ただUI操作をするだけではなく、スクリプトを活用してバックエンドの状態を自在に操る、より高度なE2Eテストの手法も紹介します。これにより、どんな複雑なシナリオでも再現可能とし、QA工数を大幅に削減したノウハウを、明日から浸かる実践的な知見として発表予定です。
多くのアプリで必要となるログイン機能。どう実装すれか迷いませんか?私は迷いました。本セッションでは、認証の仕組みであるOpenID Connect (OIDC)の基本的な仕組みから、Flutterアプリで実装するための具体的なステップまでを解説します。 トークンの管理や更新、リトライ処理といった実践的なコードも紹介。認証フローの全体像を理解し、自信を持ってセキュアなログイン機能を実装できるようになることを目指します。
概要
Flutterアプリ開発において、エラーハンドリングは避けて通れない課題です。try-catchでの例外処理は型情報が失われ、エラーの見落としやランタイムエラーの原因となります。
本LTでは、Dart 3のSealed Classを活用したFlutterの公式ドキュメントに準拠したResult型パターンを用いて、型安全なエラーハンドリングをRiverpodを用いたMVVMベースのアーキテクチャで実現する方法を紹介します。
想定視聴者
概要
プログラミングへの挫折から再起し、「ノリと勢い」でFlutter開発サークル「ぽちぽちのつどい」を大阪大学に創設した3年間の軌跡を語ります
想定視聴者
Flutterは皆さん知っての通り、Dartでモバイル・Web・デスクトップといった複数のプラットフォームに対応したアプリを構築できるフレームワークです。
では、Flutterが各プラットフォーム上で動作するということは、そのプラットフォームのネイティブ環境上でFlutterが起動しているということになりますよね?
本LTでは、iOSアプリを起動してからFlutterのUIが描画されるまでの裏側の流れを追いかけます!
FigmaをもとにしたFlutterアプリ開発で、デザイナーとのデザイン情報の伝達やカラーやテキストスタイル等のコード上での管理に課題を感じていませんか?
本セッションでは、Figmaデザイントークンを導入し、プロジェクト内のあらゆるデザイン定義を一元管理し、Flutter側ではThemeExtensionを用いてデザイントークンと一致するカスタムテーマを構築した事例を紹介します。
この手法により、デザインとコードが一気通貫でつながり、共通言語が生まれたことで認識齟齬を解消。UI変更にも迅速かつ正確に対応できる開発体制が実現しました。
デザインとコードに一貫性を持たせ、開発を加速させるヒントをお届けします。
対象者
長期運用するモバイルアプリでは、機能を足すだけでなく「止める力」が問われます。
本LTでは、弊社で導入していたFacebook・X ログイン機能を段階的に削除したプロセスと戦略について共有します。
特に焦点を当てるのは、単にコードを消すだけでなく、既存ユーザーへの影響を最小限に抑えるために行ったユーザーケアの設計です。
ユーザーへのケア戦略と削除によって得られた運用コスト削減や、UX改善などの副次効果もあわせて紹介します。
Flutterの標準的なジェスチャー検出は強力ですが、特定の開発シーンでは複数のジェスチャーの競合や、ユーザー体験に合わせた独自動作の定義といった課題に直面します。
本セッションでは、こうした課題を踏まえて、Flutterアプリにおけるカスタムジェスチャーの実装例を軸に、Gestureの認識メカニズムや競合解決のアプローチなど、内部処理を含めて掘り下げて解説します。
Flutterアプリ開発においてローカルデータ永続化は不可欠ですが、数ある選択肢の中から「どれを選ぶべきか?」と悩む方も少なくないでしょう。
本LTでは、FlutterローカルDBの主要な選択肢それぞれの技術的特性を客観的に解説し、各DBが誕生した背景にある理由を分かりやすく紐解きます。
このトークを通して、ご自身のプロジェクトに最適なローカルDBを選定する基準をお持ち帰りください。