一般セッション

FlutterでWeb3のアプリ開発に挑む:苦悩と突破した実装の話

isekiryu いせりゅー

概要

「Web3.0」というキーワードを耳にする機会が増えています。
しかし、現在Flutterで開発されているアプリの多くは、まだWeb3の完全な実装には達していません。本セッションでは、Flutterを用いてWeb3アプリを開発する際の技術的な実装方法に加え、直面した課題やそれを克服した経験を共有します。
FlutterでWeb3アプリを開発することに興味がある方にとって、実践的な知識や技術選定のヒントなどが得られるセッションになります。

主な内容

  • MetaMaskログインとウォレットアドレス取得
  • 秘密鍵による署名の実装
  • Web3Authでのソーシャルログイン(Apple, Google)
  • Web3関連Packagesの選定の課題と対策
  • ドキュメント不足やMetaMaskのバグを乗り越えた方法

想定視聴者

  • Flutterエンジニア - FlutterアプリにWeb3機能を統合したいエンジニア。
  • モバイルアプリ開発者 - Web3技術を使ってアプリのユーザー体験を向上させたい開発者。
  • ブロックチェーンエンジニア - ブロックチェーン技術を活用したアプリ開発に興味がある方。
一般セッション

今夜から始めたい!Flutter × KMPで構築するnon-Dartアプリケーション

soleil_colza_ Hina Nakahira

概要

このセッションでは、Flutterを使ってUIを構築し、Kotlin Multiplatform (KMP) を利用してビジネスロジックを実装する、Dartに依存しないクロスプラットフォームアプリ開発の新しいアプローチを紹介します。
Flutterはその優れたUI構築能力で知られていますが、ビジネスロジックをDartで実装する必要があり、一部の開発者にとっては学習コストが高くなりがちです。Dartの学習を最小限に抑えつつ、Kotlinの強力な機能を活用して、iOSやAndroid両方で動作するアプリを効率的に開発しましょう。

具体的には、FlutterでのUI構築とKMPを用いたビジネスロジックの分離統合の手法、Kotlin/Nativeを用いたプラグインの作成、FlutterとKMP間のデータのやり取りをシンプルに行うためのベストプラクティスを取り上げます。Flutterを活かし、Kotlinでビジネスロジックを管理することで、保守性や開発効率を向上させましょう。

想定視聴者

・Dartの学習に課題を感じているFlutter初心者
・Kotlinのスキルを活用したい他プラットフォーム開発者
・KotlinやKMPの経験があり、Flutterを用いた開発に興味があるAndroidエンジニア
・Kotlinのエコシステムを生かしてモバイル開発を効率化したい開発者

16
一般セッション

Ditto SDK 紹介: サーバーに依存しない新しい体験

kndoshn 近藤 峻輔

概要

最近Flutter対応を発表したDitto SDKについてご紹介します。

こんなお困りごとはございませんか?

・ 『サーバー、ネットワークの障害でアプリが使えなくなる』
・ 『現場のWi-Fiが弱く、アプリがサクサク使えない』
・ 『施設が混雑した際にネットが遅くなり、現場の業務に支障がある』
・ 『災害時に備えたいが、ハードウェア追加はコストが合わない』

Dittoは、インターネットなしでの快適なデータ同期を実現するSDKです。

自動的にメッシュネットワークを構築し、データを中継します。
また分散していてもデータがコンフリクトしない仕組みを持っています。

レストランのような、通信が売上に直結する場所、
飛行機などの、インターネットが不安定な場所での活用が増えてきています。

このセッションでは、Dittoの仕組みと使い方について詳しく紹介します。

想定視聴者

・ 米スタートアップの新しい技術に興味がある
・ Flutterに新しい可能性を感じたい
・ ネットワークで困るケースがある

1
LTセッション

200人が参加する弓道大会を支えたアプリ開発と運用

BowyerApp Takaya Shono

概要

9月7日に「弓道の日」記念交流射会が開催されました。全国各地から弓道家が集まり、200人が参加する大規模な大会となりました。
通常、弓道大会では紙で記録が張り出されますが、今大会ではアプリを用いてリアルタイムに記録を共有しました。

今回のアプリでは、リアルタイム記録の閲覧、参加者間のプロフィール交換機能(QRコード使用)、大会前後の通知機能を搭載。大会はボランティア運営でコストゼロが求められ、私はFlutter、Firebase、Google Spreadsheetを活用して、すべてのシステムを一人で構築・運用しました。

大会運営はボランティアで行われたため、コストゼロでの運用が求められました。
エンジニアは私一人だったため、これらのシステムを全て1人で構築・運用しました。
このノウハウは、他の大会やイベントでも活用できると考えており、今後、同様のイベントでアプリを導入したいという方々に役立てば嬉しいです。

このセッションで得られること

  • FirebaseとGoogle Spreadsheetを用いたリアルタイムデータ同期システムの構築方法
  • QRコードとFirebaseを用いたプロフィール交換システムの構築方法
  • その他、リアルタイムイベントを実施するためのノウハウ

想定視聴者

これから特定ドメインのイベントアプリの開発を行いたい方

一般セッション

FlutterでSuapbase仕事で使って、Firebaseの代替品になったか?

JBOY83062526 Jboy422

概要

副業で携わっているアプリで、Supabaseを使って気づいたメリット、デメリット。Firebaseの完全な代わりになるわけではない。

想定視聴者

  • Supabaseに興味がある
  • Firebaseの代替品としてどこまで使えるのか 
採択
一般セッション

OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理

ronnnnn_jp ronnnnn

概要

Flutter SDK は、Google の Material Design と Apple の Human Interface Guidelines に準拠したテーマ (Material Theme, Cupertino Theme) と関連 API を提供しており、これにより OS 標準のデザインに沿ったアプリ開発が容易になります。
しかし、独自のデザインシステムを採用したい場合にテーマ管理が複雑化したり、OS 標準のデザインシステムアップデートに伴う破壊的変更により開発コストが増大したりする可能性があります。

本セッションでは、Flutter のテーマと各 Widget のスタイルの関係性を掘り下げ、OS 標準のデザインシステムへの依存を軽減するテーマ管理のアプローチを発表します。
これにより、独自のデザインシステムの実現や、OS 標準のデザインシステムアップデートの影響を最小限に抑えることを目指します。
加えて、Flutter Roadmap でも触れられている blankcanvas の最新動向についても解説します。

想定視聴者

  • 独自のデザインシステムを Flutter アプリに適用したいと考えている開発者
  • Flutter のテーマ管理をより深く理解し、効率的な開発手法を学びたい開発者
採択
LTセッション

僕のstate restorationアカデミア

LucasGoldner 金ちゃん

概要

ユーザーとして、この場面を想像してみてください:アプリAで長文を入力中、何度か他のアプリBに切り替えて使用し、アプリAに戻ったところ、突然すべてのデータが消えてしまいました。OSがアプリAを終了させてしまったのです!それはあまり良くないuxですね。開発者として、どうやってユーザーを挙動不審な行動に対して守ることができますか?実は、state restorationという簡単な解決方法があります。状態管理についてよく話しますが、state restorationのことを忘れることがあります。最新の個人開発アプリ「Japanana」ではこの機能が必要でしたので、実際の例を使ってその実装方法をこの発表で紹介したいと思います。

想定視聴者

• State restorationについて理解したい開発者
• State restorationを実装したく、その方法を学びたい開発者
• State restorationを実装した後、テスト方法を学びたい開発者

一般セッション

異世界の技術: iOSエクステンションの探索

LucasGoldner 金ちゃん

概要

フラッターエンジニアにとって、ターゲットとするプラットフォームについて詳しく知ることは有利です。iOSの場合、様々なアプリextensionを通じて、アプリとシステムとのインタラクションが向上します。一番よく使われているextensionはホーム画面のwidgetでしょう。しかし、僕達が気づかない中で「シェア」や「アクション」など、日常的に様々な他のextensionも広く使われています。ほとんどのextensionはまだUIKitを使用していますが、Flutterバージョン3.16からは、新しい機能のおかげで、extensionのUIもFlutterで作成されます。

想定視聴者

• iOSで使用可能な様々な種類のextensionについて学びたい開発者
• Flutterアプリに様々なextensionを統合する方法を学びたい開発者
• UIKitの代わりにiOSのextension用のカスタムFlutter UIを作りたい開発者
• extensionの制限事項についての理解を深めたい開発者

一般セッション

ラーメンの味選びのように:Flutterでネイティブ機能へのアクセスに最適なツールを見つける

LucasGoldner 金ちゃん

概要

Flutterエンジニアとして、ネイティブ機能にアクセスすることは難しいかもしれません。FFIGen/JNIGen、Pigeon、通常のMethodChannelなど、さまざまな選択肢がありますが、どの方法が最も有効かは状況によります。AirPodsのセンサー情報を取得するために「Flutter AirPods」というパッケージを開発する際、僕も多くの選択肢の中で迷いました。このトークでは、「Flutter AirPods」を開発する過程で試したさまざまな方法と、それぞれの方法のメリットとデメリットを共有します。

参加していただければ、トークの終わりまでに、自分にとって最適なツールを安全に選べるようになります。

想定視聴者

・パッケージを開発している開発者
・ネイティブ機能へのアクセスが必要な開発者

1
採択
一般セッション

体験!マクロ時代のFlutterアプリ開発

chooyan_i18n ちゅーやん

概要

Dart の新機能であるマクロ(Dart macros)の登場により、Flutter アプリ開発で煩雑だったボイラープレートの問題や build_runner によるコード生成の問題の解決が期待されています。

とはいえマクロはまだまだ試験的に公開されている段階であるために自由に触りづらく、できることを把握してどう活用するかをイメージしづらいのが現状です。サンプルとして話題に上がるマクロも JSON とオブジェクトの変換が簡単になるというもので、Flutter アプリ開発にどれほどのインパクトをもたらす機能なのかをイメージするには力不足です。

このセッションでは、実際に Flutter アプリ開発で活用することを想定したマクロをいくつか紹介し、実際にコーディングして使ってみることで、マクロ導入後の Flutter アプリ開発がどのように変化するのかを体験します。

来るマクロの正式リリースに備え、マクロの活用方法や作り方、そして適切な距離感を今から考えてみませんか?

想定視聴者

  • 2025 年以降も Flutter アプリ開発を続ける予定のすべての開発者
  • マクロを使う方・作る方どちらの目線もカバーした内容です
2
LTセッション

FlutterプロジェクトでのOpenAPI運用

shintaku_square 新宅 千晶

概要

APIの仕様の管理は、効率的に開発を進める上で大切な要素の1つですよね。
本セッションではOpenAPIの運用について焦点を当て、リポジトリの配置やディレクトリ構成、どのようにDartコード生成を行っているか、そのために使用しているテンプレートツールなど弊社のプラクティスを紹介します。

想定視聴者

  • プロジェクトへOpenAPIの導入を検討している方
  • FlutterプロジェクトにおいてAPIとの連携を効率化したいと考えている方
  • OpenAPIを使ってコード生成を行うことを検討している方
1
一般セッション

Mapboxで作る理想の地図アプリ:カスタマイズ性と多機能性の検証

isekiryu いせりゅー

概要

Flutterを使用した開発において、地図機能を統合するための選択肢は多岐にわたります。
本セッションでは、mapbox_maps_flutterを使用したMapboxの基本機能からカスタマイズ方法までを解説し、他の地図ライブラリとの比較も行います。スピーカーの実例を交えながら、Mapboxを使った実践的な地図アプリ開発のポイントを紹介します。
Mapboxを活用してFlutterアプリに高度な地図機能を組み込みたい方におすすめのセッションです。

主な内容

  • 基本的な地図の表示方法と初期設定
  • ユーザーの現在地を表示し、方向を示す方法
  • カスタムスタイルの作成と適用方法
  • 特定の座標にピンを表示する方法
  • データベース連携で動的にピンを表示する方法
  • ピンを押した際にその座標に対する情報を表示する方法
  • ピンを押すとその位置に地図を移動させる機能
  • 個人開発においてMapBoxを選択した理由
  • Mapbox Search APIでやらかしてしまった話

想定視聴者

  • Flutterエンジニア - Flutterアプリに地図機能を追加したいエンジニア。
  • モバイルアプリ開発者 - Mapboxを使ってアプリのユーザー体験を向上させたい開発者。
  • GISエンジニア - 地理情報システムを活用したアプリ開発に興味がある方。
一般セッション

Building/Coding Your Robot (Specially ROV) in Flutter

rahman_aymen Abdelrahman Eba

Explore the power of Flutter in robotics! In this live coding session, learn how to code robots using Flutter on a Raspberry Pi and create a cross-platform control station for Web, Desktop, and Mobile. Typically, ROVs, UAVs, and drones require two systems: a main board for control and a separate system for commands. With Flutter, you can code both in the same framework, enabling seamless integration across platforms. Join us to see real-world demos and learn how Flutter simplifies robotics development.

1
一般セッション

現実と向き合うアーキテクチャ

chooyan_i18n ちゅーやん

概要

アーキテクチャに銀の弾丸はありません。よく使われるパターンに当てはめればうまくいくことが保証されるわけでもなければ、有名なプロジェクトが採用するアーキテクチャがあなたのプロジェクトでも最適とは限りません。

アプリの技術的な要件にはじまり、事業戦略、チームの特性や世の中の開発環境など、「最適なアーキテクチャ」を決定する変数は常に変化しつづけ、全く同じ条件や状況で開発が進むプロジェクトはひとつとしてありません。

このセッションでは、アーキテクチャを「採用するもの」ではなく「考え出すもの」ととらえ、それぞれに異なるプロジェクトで開発するみなさんが「そのプロジェクトにおける最適」なアーキテクチャを考え出すための道筋を議論します。

アーキテクチャに影響を与える要素を整理し、既存のパターンからアーキテクチャに対する観点を得て、具体的な Flutter のコードで理解を深めることで、実際のプロジェクトで使える考え方を身につけることを目指します。

想定視聴者

以下のようなプロジェクトにおいて、開発方針の意思決定をするリードエンジニアの方々の役に立つことを目指しています。

  • これからアプリ開発がスタートするプロジェクト
  • 「とにかく動くこと」を最優先に開発してきたプロジェクト
1
一般セッション

VoiceOverでアプリがクラッシュ!本家にコントリビュートして解決した話

tacck tacck

概要

みなさんは、 Flutter のバージョンアップで思わぬ事態になってしまったことはありますか?

私の所属している組織では、主に「宅配」のためのスマホアプリを Flutter で開発・運用しています。
利用者には VoiceOver を利用した方々もいらっしゃるのですが、ある日を境にその方々からアプリクラッシュの報告が上がるようになりました。

原因を探ってみると、 Flutter のバージョンアップに伴い Engine に加えられた変更が影響していることまでわかりました。
変更によって、 VoiceOver を有効にした状態で WebView を連続して利用する画面遷移を行うと、アプリがクラッシュするようになっていたのです。

該当する Issue も立てられてはいましたが、いつ解決するのかはわかりません。
このままでは、いつまでに改善できるか利用者の方たちと約束ができない状態です。
そこで、我々はこの Issue を自力で解決することで、自分たちのアプリの安定化を図る決断をしました。

このセッションでは、原因特定から改修版アプリのリリースまでの紆余曲折と、実際に Flutter 本体へコントリビュートしてみてどうだったか、ということをお伝えします。

想定視聴者

  • アクセシビリティに関心のある方
  • Flutter へのコントリビュートに興味のある方
2
LTセッション

デコンパイルから発見!shared_preferencesに隠された秘密の文字列と真実

chigichan24 chigichan24

概要

Androidアプリの難読化されたコードを見るのが趣味の筆者。ある日、Flutter製のAndroidアプリの多くには、共通のBase64エンコードされている文字列が使用されていることを発見しました。この文字列は、flutter/packagesの中の特定のデータ型に関連する重要な手がかりを含んでいることが判明。詳細はGitHubの公開アーカイブされたリポジトリでの調査により、これらの文字列がどのような目的で使用されていたのかが筆者の中で明らかになりました。

この発見は、特に、AndroidのSharedPreferencesの実装に対するFlutterのユニークなアプローチとマルチプラットフォームに対応するフレームワークとしての解決策の苦悩が垣間見えます。プロダクトの実装時には気にする必要のない部分、Flutterの1st partyライブラリの実装を深堀りしていきます。

<トークのアジェンダ>

  • アプリのデコンパイルについて
  • flutter/packageのshared_preferencesについて
  • 不自然に共通している3つの秘密の文字列
  • 秘密の文字列の目的とその背景

想定視聴者

  • flutter の 1st partyのライブラリの実装に興味がある人
  • shared_preferencesに隠された真実に興味がある人
2
一般セッション

Building IoT Healthcare Solutions with Flutter

jaichangpark Dreamwalker

概要

In this presentation, I'll explore how to build IoT healthcare solution(architecture) using Flutter.
I'll start with a brief introduction to the importance of IoT in healthcare and the advantages of using Flutter.
Next, I delve into the roles of gRPC and WebRTC technologies in enabling real-time data transmission and remote diagnostics. By examining the architecture and interaction of these two technologies, I'll present a comprehensive and integrated approach to developing Flutter-based healthcare solutions.

想定視聴者

Developers considering developing healthcare systems using Flutter

1
採択
一般セッション

Seamless Flutter Native Integration: FFI & Pigeon

jaichangpark Dreamwalker

概要

This presentation introduces two tools for bridging Flutter apps with native code: FFI (Foreign Function Interface) and Pigeon. FFI enables direct calls to C/C++ functions, optimizing performance and hardware access. Pigeon streamlines method invocations between Flutter and native platforms (Android/iOS), facilitating better data communication. I’ll demonstrate the implementation and success stories of using these tools to enhance native functionality in Flutter applications.

想定視聴者

Aiming to expand knowledge of FFI & Pigeon for native platform integration.

1
一般セッション

Generative AI with Flutter

jaichangpark Dreamwalker

概要

Generative AI is a groundbreaking advancement in technology, and this presentation examines its synergy with Flutter.
I will discuss the fundamentals of Generative AI and Flutter, as well as how to integrate on-device Machine Learning solutions like TensorFlow Lite and ML Kit.
Additionally, I will demonstrate how to use Google Gemini and OpenAI's Chat API to create real-world applications.

想定視聴者

  1. App developers who use Flutter (Flutter enthusiasts!).
  2. Developers interested in on-device ML and AI API integration.
  3. Technical leads and team leaders.
1