Flutter開発において、ローカルDBの選定は開発体験を左右する重要な要素です。
しかし、ローカルDBは多くの選択肢が存在し、どれを使うべきか悩む方も多いのではないでしょうか?
本セッションでは、それぞれのローカルDBを設計思想・特徴・パフォーマンスの客観的に比較し、選定のヒントとなる基準を明確にしていきます。
さらに、各DBの登場背景やエコシステムとの関係性も比較し、なぜそのDBが選ばれるのか?を明らかにします。
このトークを通して、あなたのFlutterプロジェクトに最適なローカルDBを選定するための「判断軸」を持ち帰っていただけることを目指します。
セッションで話すこと
想定視聴者
GoogleはMaterial Design 3を進化させ、M3 Expressiveを発表しました。
本LTでは、M3 Expressiveを含む、最新のMaterial DesignをFlutterアプリに反映する方法について解説します。また、FlutterとAndroidネイティブアプリとの違いについて言及し、最新のデザインシステムをFlutterアプリでどれほど再現できるのか、さらに最新のデザインシステムを反映できない部分については、どのように対応すべきかについて解説します。
・Material Designに興味のある方
・M3 Expressiveに興味のある方
・最新のデザインシステムの動向やFlutterアプリへの反映に興味のある方
iOS開発では避けて通れないProvisioning Profileと証明書の管理。その煩雑さや年に一度の更新作業は、多くの開発者の悩みの種です。
App Store Connect APIを活用したCloud Signingは、この課題を解決します。
証明書の取得と更新が自動化され、開発者は証明書管理から完全に解放されます。
ただし、この強力な仕組みをCI/CDで最大限に活かすには、設定にいくつかのコツが必要です。
本セッションでは、その具体的な設定方法を詳しく解説します。
いいねを押したらふわっと!タブを切り替えたらぽよんぽよん!アニメーションを入れるだけで、アプリが一気に楽しくなりますよね。
でもAnimationControllerやsetState、複雑になっていく条件分岐…アニメーションの管理って、思ったより大変😖
そこで登場するのがRiveパッケージのStateMachine機能!
状態の流れをRiveのエディタで定義しておくことで、ユーザーのアクションに応じて切り替わるアニメーションが簡単に実現できます。
アニメーションはただ見た目を飾るだけではなく、ユーザーのアクションに動きで“反応”を伝えることで、プロダクトに気持ちのいいフィードバックを加えることができます。
今日からあなたもRiveでアニメーション入門しませんか?💖
近頃の AI Coding Agent の進化は目を見張るばかりです。
「Riverce ゲームを作って下さい。」と入力して、多少の提案修正をすればプロジェクト・コード一式が生成されます。
最近の研究では、これはソロモノフ帰納により「学習済コードから冗長性パターンの圧縮による汎化が行われ、コード応用につながっている」のではないかとのこと。
そこでDart analyze パッケージで、コードの抽象構文木解析から冗長性パターンを圧縮させて、オリジナルの Few Shot Learning プロンプトの性能をあげてみます。
【備考】ただしソロモノフ帰納の課題として、計算可能でなく近似であることに注意。詳しくは、「アルゴリズム的確率」や「ソロモノフ帰納」で検索して下さい。
・生成AIの基礎に触れたいエンジニア
EUでは欧州アクセシビリティ法が、日本でも改正障害者差別解消法が施行され、アプリを「誰もが使える」ものにすることが、もう当たり前の時代になりました。
このLTでは、Flutterでアクセシビリティ対応を始めるためのすぐにできるコツを視聴者の皆さんにお伝えします。目の不自由な方や認知特性の多様な方など、様々な方がFlutterアプリを快適に使えるようになる、ちょっとした工夫や既存のWidgetをご紹介します。
すべてのFlutter開発者
Pigeonは、Flutterとホストプラットフォーム間の通信を型安全に、より簡単に、より速くするためのコード生成ツールです。(pub.devより)
Pigeon自体はしばらく前から存在しますが、直近1年程度で魅力的な更新が続々と追加されています。
このLTでは、注目すべき更新をいくつかピックアップして紹介します。
などなど
Flutterといえば「マルチプラットフォーム対応」が魅力の1つ。
でも、開発リソースが限られる個人開発や初期フェーズのプロダクトでは、あえて「片OS対応」に絞るという選択が、成功への近道になることもあります。
このセッションでは、Flutter製アプリを片OS対応で運用しつつも、ユーザー獲得と収益化に成功し、一定のシェアを得た実体験をもとに、
・なぜ両OS対応を「あえて」していないのか
・「それってネイティブでよくね?」という問いへの向き合い方
・開発や運用面で得られたリアルなメリット
を赤裸々に共有します。
「片OS対応は妥協ではなく、戦略」。
マルチプラットフォームにとらわれないFlutterの新しい使い方を提案します。
・両OS対応が正直負担に感じている人
・「Flutter=両OS対応ありき」という考えを一度見直したい人
GraphQLは、スキーマによる型定義や、一度のリクエストで必要なデータを正確に取得できる点が特徴の、APIのためのクエリ言語です。
さらに、多くのGraphQLクライアントがもつキャッシュ機能は、Flutterのような宣言型UIフレームワークと相性が良く、非常に強力な武器となります。
本トークでは、graphql_flutterパッケージを例に、GraphQLのキャッシュ機能を最大限に活用するための Tips についてお話しします。
FlutterでGraphQLを使用している方、これから使用してみたいと考えている方
Flutterアプリのインフラ・バックエンド構築について、選択肢が多すぎて迷いませんか?
MBaaS系サービス、AWSなど、それぞれのアプローチにはメリット・デメリットが存在します。
開発速度、運用コスト、スケーラビリティ、カスタマイズ性などの観点から主要な構成パターンを実際のアーキテクチャ図とともに比較して紹介します。
プロジェクトに最適な構成を選ぶための判断軸を提供します。
・主要なインフラ・バックエンド構成パターンの解説
・アーキテクチャ図を用いた構成比較
・プロジェクト規模・要件別の選定指針と判断軸
・Flutterアプリのインフラ・バックエンド構成で迷っている開発者・インフラエンジニア
・プロジェクト要件に応じた最適なインフラ・バックエンド選定をしたい人
・個人開発から中規模開発まで対応したい開発者
Flutterにはflutter createコマンドを使ったテンプレート生成機能が標準で備わっています。しかし、実際の現場では「チームの規約に沿った初期構成にしたい」、「毎回同じようなコードをコピペしてアプリケーションのアーキテクチャを作り始める」といった悩みを抱えていることも多いのではないでしょうか。
本LTでは、Flutter標準のテンプレート生成の仕組みについて触れつつ、独自テンプレートを使用しつつ対話形式(CLI)でカスタマイズできる仕組みを構築する方法について解説します。プロジェクト名や対応プラットフォームに留まらず使うライブラリ、ディレクトリ構成などを、コマンド実行中に質問形式で選択・入力できるようにするために取った方法について共有します。
Flutterプロジェクトを自分のテンプレートを使用して生成したい方
昨今、 Claude Code をはじめとする AI ツールの登場により、アプリケーションの開発スタイルは大きく変化を遂げようとしています。
特に、Claude CodeやFigma Dev Mode MCPを活用したコード生成が注目されています。
しかし、FigmaのCode ConnectがFlutterに非対応である点や、生成されるコードの精度に課題がある点など、Flutterとの連携には課題があります。
本LTでは、Figma MCPとClaude Codeを使って、より実用的なUI開発を行うためのTipsを5つご紹介します。
昨今、 Claude Code をはじめとする AI ツールの登場により、アプリケーションの開発スタイルは大きく変化を遂げようとしています。
これまで、1人のエンジニアがVS CodeやAndroid Studioなど1つのIDEを使ってコードを編集していましたが、Claude Codeなどのツールを活用することでAIが複数のタスクを並列して行うことができるようになりました。
本LTでは、Claude Codeのコード生成の精度を向上させるためのプロンプト設計や、実用的なMCPサーバー、Devin等のAIツールの活用術など、Flutterアプリ開発で役立つものに絞って5つご紹介します。
FlutterアプリをAndroid端末でキオスクモード(アプリ固定モード)運用する方法を解説します。Device Owner権限の設定方法、Flutterでの実装、RemoteConfigを使った自動アップデートなど、業務用端末として安定運用するための実践的な知識を5分でお伝えします。
なぜ Key が必要なのか、正しく使わないとどうなるかを実例で比較。
Flutterで日常的に使うものの、内部挙動や落とし穴が意外と理解されていないWidget をランキング形式で紹介。 上位5つを取り上げ、それぞれの誤解ポイントと正しい使い方を凝縮して解説します。
Flutterは皆さん知っての通り、Dartでモバイル・Web・デスクトップといった複数のプラットフォームに対応したアプリを構築できるフレームワークです。
では、Flutterが各プラットフォーム上で動作するということは、そのプラットフォームのネイティブ環境上でFlutterが起動しているということになりますよね?
本LTでは、iOSアプリを起動してからFlutterのUIが描画されるまでの裏側の流れを追いかけます!
長期運用するモバイルアプリでは、機能を足すだけでなく「止める力」が問われます。
本LTでは、弊社で導入していたFacebook・X ログイン機能を段階的に削除したプロセスと戦略について共有します。
特に焦点を当てるのは、単にコードを消すだけでなく、既存ユーザーへの影響を最小限に抑えるために行ったユーザーケアの設計です。
ユーザーへのケア戦略と削除によって得られた運用コスト削減や、UX改善などの副次効果もあわせて紹介します。
Flutterの標準的なジェスチャー検出は強力ですが、特定の開発シーンでは複数のジェスチャーの競合や、ユーザー体験に合わせた独自動作の定義といった課題に直面します。
本セッションでは、こうした課題を踏まえて、Flutterアプリにおけるカスタムジェスチャーの実装例を軸に、Gestureの認識メカニズムや競合解決のアプローチなど、内部処理を含めて掘り下げて解説します。