一般セッション

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の代替品としてどこまで使えるのか 
一般セッション

異世界の技術: 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
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
一般セッション

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