Flutter開発において、ローカルDBの選定は開発体験を左右する重要な要素です。
しかし、ローカルDBは多くの選択肢が存在し、どれを使うべきか悩む方も多いのではないでしょうか?
本セッションでは、それぞれのローカルDBを設計思想・特徴・パフォーマンスの客観的に比較し、選定のヒントとなる基準を明確にしていきます。
さらに、各DBの登場背景やエコシステムとの関係性も比較し、なぜそのDBが選ばれるのか?を明らかにします。
このトークを通して、あなたのFlutterプロジェクトに最適なローカルDBを選定するための「判断軸」を持ち帰っていただけることを目指します。
セッションで話すこと
想定視聴者
Flutter、Jetpack Compose、SwiftUIは、いずれも宣言的UIを採用したフレームワークです。これらを使えば、表現力豊かなUIを効率的に構築できますが、特にFlutterは早い段階からマルチプラットフォーム展開を第一の目標として設計されてきました。宣言的UIという共通点を持ちながらも、UIの作り方や状態の扱い方には、それぞれ独自の文化・哲学があります。それぞれのコーディングスタイルやベストプラクティスを知ることで、新たな視点を取り入れ、より良いUI実装を目指します。このセッションでは、具体的なコードを交えながら、3つのフレームワークの「書き味」の違いを体感します。
Flutterならではの利点・欠点を、他のフレームワークとの比較を通じて再確認したい人
Flutter以外でもモバイルアプリ開発のトレンドや新しい開発手法に関心がある人
GoogleはMaterial Design 3を進化させ、M3 Expressiveを発表しました。
本LTでは、M3 Expressiveを含む、最新のMaterial DesignをFlutterアプリに反映する方法について解説します。また、FlutterとAndroidネイティブアプリとの違いについて言及し、最新のデザインシステムをFlutterアプリでどれほど再現できるのか、さらに最新のデザインシステムを反映できない部分については、どのように対応すべきかについて解説します。
・Material Designに興味のある方
・M3 Expressiveに興味のある方
・最新のデザインシステムの動向やFlutterアプリへの反映に興味のある方
「アクセシビリティ、大事なのはわかってる。だけど、どうしても後回しになってしまう」──そんな経験、ありませんか?
私たちのチームもそうでした。初期リリースでは対応できておらず、今も完璧ではありません。
このセッションでは、アクセシビリティ改善の実体験をもとに、今からでも始められることを中心にお話しします。
・今さら対応するのって大変じゃない?
・チーム全体でどうやって意識づける?
・アクセシビリティ改善って正直どこまでやればいいの?
そんな悩みに寄り添いながら、100点を目指さなくても、0点を1点にする方法を一緒に考えます。
“やれてない”を責めるのではなく、“今からやっていける”ことを持ち帰ってもらえる時間にしたいと思っています。
電話転送・発信・ディープリンク発信・回線の自己診断機能・市外局番(JP)の判定などの多彩な通話機能を Flutterを通じて提供するアプリの事例紹介です。
本セッションでは、Twilio Voiceを軸にCallKit(iOS)/TelephonyManager(Android)などネイティブAPIと連携した事例の紹介、Flutter特有の課題や解決策を、実店舗など商用環境で得た知見も混じえ、具体的に共有します。
Headless Engine / Riverpod / app_links / Pigeon / DCM etc..
音声や通話などの機能にご興味、知見のあるFlutter/モバイル開発者の方。
モバイルアプリで通話や音声コミュニケーションの機能導入を検討中の方。
SaaSのモバイルアプリプロダクト開発に関わっている方。
iOS開発では避けて通れないProvisioning Profileと証明書の管理。その煩雑さや年に一度の更新作業は、多くの開発者の悩みの種です。
App Store Connect APIを活用したCloud Signingは、この課題を解決します。
証明書の取得と更新が自動化され、開発者は証明書管理から完全に解放されます。
ただし、この強力な仕組みをCI/CDで最大限に活かすには、設定にいくつかのコツが必要です。
本セッションでは、その具体的な設定方法を詳しく解説します。
AI駆動開発における各AIの実行速度やコスト感、品質などが十分に議論されていないのが現実です。
この問いに答えるべく、設計書を起点とした「AI駆動開発」の実証実験を行った結果を報告します。
話題のAIである Devin, Claude Code Actions (CCA)、そして比較対象として人間のエンジニアの三者が、同じ仕様からFlutterアプリを実装し、各アクターが生成したコードの品質、開発速度、仕様への準拠度を客観的な指標で徹底比較します。
・Flutter開発の生産性向上に課題を感じている方
・DevinやClaudeなど、最新AIツールを実務でどう活用できるか知りたい方
・AIによるコード生成やレビューの品質・精度に具体的な関心がある方
・AIとエンジニアの未来の協業スタイルを模索している開発リーダーやマネージャー
Flutterで、アクセシビリティに配慮したアプリを開発しようと考えているエンジニアの方は多くいらっしゃると思います。
本セッションでは配色に焦点を当て、アクセシビリティに配慮した、誰もが見やすく使いやすいカラーパレットの作り方について解説します。また、Flutterアプリで、アクセシビリティに配慮したカラーパレットを実際に実装する方法についても解説します。
デザイン・アクセシビリティに興味はあるものの、具体的なアクションプランに困っている開発者に対して、詳細な開発手順をお伝えします。
・UI・UXデザイン、アクセシビリティに興味のある方
・Flutterにおけるテーマのカスタマイズについて知りたい方
・見やすさや使いやすさに配慮したアプリ開発を実践したい方
Add-to-appは、既存ネイティブアプリに段階的もしくは部分的にFlutterを組み込むための手法としてよく知られています。
一方で、既に運用フェーズにあるネイティブアプリとFlutterアプリを統合する手法としても有効であることはあまり知られていないと思います。
本セッションでは、ともにストアリリースされ長年運用されているネイティブアプリとFlutterアプリの統合を通じて、統合の具体的な方法、最適なビルド構成、ナビゲーションやライフサイクルの管理、遭遇した問題と解決方法について紹介します。
特にiOSアプリとFlutterアプリの統合について詳しく解説します。
・ iOSネイティブアプリの一部または全部にFlutterを取り入れたい開発者
・ Add-to-appは知っているが、もっと“踏み込んだ使い方”を知りたい方
いいねを押したらふわっと!タブを切り替えたらぽよんぽよん!アニメーションを入れるだけで、アプリが一気に楽しくなりますよね。
でもAnimationControllerやsetState、複雑になっていく条件分岐…アニメーションの管理って、思ったより大変😖
そこで登場するのがRiveパッケージのStateMachine機能!
状態の流れをRiveのエディタで定義しておくことで、ユーザーのアクションに応じて切り替わるアニメーションが簡単に実現できます。
アニメーションはただ見た目を飾るだけではなく、ユーザーのアクションに動きで“反応”を伝えることで、プロダクトに気持ちのいいフィードバックを加えることができます。
今日からあなたもRiveでアニメーション入門しませんか?💖
riverpod_generatorによるコード生成は、今や多くの現場で採用されています。一方でコード生成は、コードベースの規模によっては時間が掛かることもあり、公式としてもあくまでオプションという位置づけでした。Dart3.4で試験導入されていたmacrosは、これを解決するための方法として期待されていましたが、今年1月30日に開発ストップが発表されました。
それを受け、Riverpodではコード生成を使わない、新しい記法が提案されています。3.0.0-dev.16のアップデートでは、コード生成を使ったMutationの記法が廃止され、新記法に置き換えられるなど、現実味も帯びてきています。
このセッションでは、Riverpodの現状の記法や問題点について整理し、新しい記法やissueでの議論について紹介します。
みなさんはどれくらいアプリのパフォーマンスを意識して開発していますか?
アプリの起動が遅い、アニメーションがかくつく、端末が熱くなるなどは、なかなか表だった不具合として姿を現しませんがアプリ利用者の不満に直結する極めて重要な課題です。
Flutterアプリの開発においてはDevToolsを活用することで定量的にパフォーマンス情報を取得・診断し”なんとなく重い”原因を突き止めることができるほか、アプリの品質改善にも役立ちます。
本セッションでは実際にDevToolsを使って描画遅延の原因を特定しパフォーマンスを改善する事例を共有します。
・ Flutterでプロダクト開発を行っている方
・ DevToolsの存在は知っているが、活用できていない/部分的にしか使っていない方
・ アプリの品質を改善したい方
近頃の AI Coding Agent の進化は目を見張るばかりです。
「Riverce ゲームを作って下さい。」と入力して、多少の提案修正をすればプロジェクト・コード一式が生成されます。
最近の研究では、これはソロモノフ帰納により「学習済コードから冗長性パターンの圧縮による汎化が行われ、コード応用につながっている」のではないかとのこと。
そこでDart analyze パッケージで、コードの抽象構文木解析から冗長性パターンを圧縮させて、オリジナルの Few Shot Learning プロンプトの性能をあげてみます。
【備考】ただしソロモノフ帰納の課題として、計算可能でなく近似であることに注意。詳しくは、「アルゴリズム的確率」や「ソロモノフ帰納」で検索して下さい。
・生成AIの基礎に触れたいエンジニア
AI エージェントの登場により、私たちの開発体験は大きく変わっています。
実装の主体が人間から AI へ移るという大きな前提の変化によりコーディングのスピードが飛躍的に向上し、レビューやリリースの頻度も増加しました。それに伴い、品質を保ちながら迅速にデプロイを行うための CI/CD の重要性がこれまで以上に高まっています。
本セッションでは、クラウドサービス型や CLI ベース、セルフホスティングなどの既存の選択肢を、コスト体系・ビルドマシン・運用体験といった複数の観点から再評価します。その上で、Flutter プロジェクトへの導入手順や、実際の運用時の Tips をご紹介します。
EUでは欧州アクセシビリティ法が、日本でも改正障害者差別解消法が施行され、アプリを「誰もが使える」ものにすることが、もう当たり前の時代になりました。
このLTでは、Flutterでアクセシビリティ対応を始めるためのすぐにできるコツを視聴者の皆さんにお伝えします。目の不自由な方や認知特性の多様な方など、様々な方がFlutterアプリを快適に使えるようになる、ちょっとした工夫や既存のWidgetをご紹介します。
すべてのFlutter開発者
Apple Intelligence 3B/Gemini Nano/Gemma 3 Nano/Llama 3 Q4 を一本の Flutter コードで動かし、
iPhoneと Pixelで「オフライン AI チャット・即時要約・校正」を同一プロンプトで実現。
それぞれのModelを下記の5点から比較し、導入から課題まで深掘り解説します。
①導入工数
②モデル・RAM
③レイテンシ
④電池
⑤ライセンス
Platform Channel/FFI の罠、Core ML・NNAPI・GPU 最適化、Gemmaのnative-assets展開も解説します。
本セッションを通じて、オンデバイスLLMを活用した iOS/Android アプリ開発のイメージを掴むことができます。
モバイルアプリ開発者でオンデバイスLLMに興味がある方
Pigeonは、Flutterとホストプラットフォーム間の通信を型安全に、より簡単に、より速くするためのコード生成ツールです。(pub.devより)
Pigeon自体はしばらく前から存在しますが、直近1年程度で魅力的な更新が続々と追加されています。
このLTでは、注目すべき更新をいくつかピックアップして紹介します。
などなど
Flutter開発をチームで行う中で、コードの質をどう維持し、改善し続けるかは大きな課題です。本セッションでは、DCM(Dart Code Metrics)の導入によって、複雑度の数値化、バグやアンチパターンの早期検出、レビュー工数の削減、CI連携による自動チェックなどをどのように実現できるかを解説します。また、最近ではAIによるコード生成が増える中で、DCMのようなツールによる自動品質チェックの重要性も高まっています。現場での実例を交えながら、DCMを活かした実践的な品質管理の方法を共有します。
「その文言、どこで使ってたっけ?」文言修正のたびにソースコードを漁り、多言語対応のファイル管理で疲弊していませんか?
本LTでは、その課題をスプレッドシートとCIで解決する、モダンな多言語対応フローを共有します。Flutterの文字管理ライブラリ「slang」、Googleスプレッドシート、GitHub Actionsを連携。非エンジニアがスプレッドシートを更新すると、アプリで利用する文言コードが自動生成される仕組みです。
手作業による修正漏れや衝突を撲滅する、未来のローカライズ管理術をご覧ください。
想定視聴者:
・ Flutterアプリの多言語対応に課題を感じている方。
・ 非エンジニアとの文言修正のやり取りを効率化したい方。
・ GitHub Actionsを使った開発フローの自動化に興味がある方。
Dart VMのガーベジコレクション(Generational GC/Scavenger/Mark-Sweep)やNew Space/Old Spaceの構造、メモリスナップショットの仕組みを解説。ObservatoryやDevToolsを用いたメモリプロファイリング手法と、ヒープ断片化やリークを防ぐためのコード設計・チューニング戦略を共有します。
メモリ管理とパフォーマンス最適化に関心のあるソフトウェア開発者。