最近Flutter対応を発表したDitto SDKについてご紹介します。
こんなお困りごとはございませんか?
・ 『サーバー、ネットワークの障害でアプリが使えなくなる』
・ 『現場のWi-Fiが弱く、アプリがサクサク使えない』
・ 『施設が混雑した際にネットが遅くなり、現場の業務に支障がある』
・ 『災害時に備えたいが、ハードウェア追加はコストが合わない』
Dittoは、インターネットなしでの快適なデータ同期を実現するSDKです。
自動的にメッシュネットワークを構築し、データを中継します。
また分散していてもデータがコンフリクトしない仕組みを持っています。
レストランのような、通信が売上に直結する場所、
飛行機などの、インターネットが不安定な場所での活用が増えてきています。
このセッションでは、Dittoの仕組みと使い方について詳しく紹介します。
・ 米スタートアップの新しい技術に興味がある
・ Flutterに新しい可能性を感じたい
・ ネットワークで困るケースがある
9月7日に「弓道の日」記念交流射会が開催されました。全国各地から弓道家が集まり、200人が参加する大規模な大会となりました。
通常、弓道大会では紙で記録が張り出されますが、今大会ではアプリを用いてリアルタイムに記録を共有しました。
今回のアプリでは、リアルタイム記録の閲覧、参加者間のプロフィール交換機能(QRコード使用)、大会前後の通知機能を搭載。大会はボランティア運営でコストゼロが求められ、私はFlutter、Firebase、Google Spreadsheetを活用して、すべてのシステムを一人で構築・運用しました。
大会運営はボランティアで行われたため、コストゼロでの運用が求められました。
エンジニアは私一人だったため、これらのシステムを全て1人で構築・運用しました。
このノウハウは、他の大会やイベントでも活用できると考えており、今後、同様のイベントでアプリを導入したいという方々に役立てば嬉しいです。
これから特定ドメインのイベントアプリの開発を行いたい方
副業で携わっているアプリで、Supabaseを使って気づいたメリット、デメリット。Firebaseの完全な代わりになるわけではない。
フラッターエンジニアにとって、ターゲットとするプラットフォームについて詳しく知ることは有利です。iOSの場合、様々なアプリextensionを通じて、アプリとシステムとのインタラクションが向上します。一番よく使われているextensionはホーム画面のwidgetでしょう。しかし、僕達が気づかない中で「シェア」や「アクション」など、日常的に様々な他のextensionも広く使われています。ほとんどのextensionはまだUIKitを使用していますが、Flutterバージョン3.16からは、新しい機能のおかげで、extensionのUIもFlutterで作成されます。
• iOSで使用可能な様々な種類のextensionについて学びたい開発者
• Flutterアプリに様々なextensionを統合する方法を学びたい開発者
• UIKitの代わりにiOSのextension用のカスタムFlutter UIを作りたい開発者
• extensionの制限事項についての理解を深めたい開発者
Flutterエンジニアとして、ネイティブ機能にアクセスすることは難しいかもしれません。FFIGen/JNIGen、Pigeon、通常のMethodChannelなど、さまざまな選択肢がありますが、どの方法が最も有効かは状況によります。AirPodsのセンサー情報を取得するために「Flutter AirPods」というパッケージを開発する際、僕も多くの選択肢の中で迷いました。このトークでは、「Flutter AirPods」を開発する過程で試したさまざまな方法と、それぞれの方法のメリットとデメリットを共有します。
参加していただければ、トークの終わりまでに、自分にとって最適なツールを安全に選べるようになります。
・パッケージを開発している開発者
・ネイティブ機能へのアクセスが必要な開発者
APIの仕様の管理は、効率的に開発を進める上で大切な要素の1つですよね。
本セッションではOpenAPIの運用について焦点を当て、リポジトリの配置やディレクトリ構成、どのようにDartコード生成を行っているか、そのために使用しているテンプレートツールなど弊社のプラクティスを紹介します。
Flutterを使用した開発において、地図機能を統合するための選択肢は多岐にわたります。
本セッションでは、mapbox_maps_flutterを使用したMapboxの基本機能からカスタマイズ方法までを解説し、他の地図ライブラリとの比較も行います。スピーカーの実例を交えながら、Mapboxを使った実践的な地図アプリ開発のポイントを紹介します。
Mapboxを活用してFlutterアプリに高度な地図機能を組み込みたい方におすすめのセッションです。
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.
アーキテクチャに銀の弾丸はありません。よく使われるパターンに当てはめればうまくいくことが保証されるわけでもなければ、有名なプロジェクトが採用するアーキテクチャがあなたのプロジェクトでも最適とは限りません。
アプリの技術的な要件にはじまり、事業戦略、チームの特性や世の中の開発環境など、「最適なアーキテクチャ」を決定する変数は常に変化しつづけ、全く同じ条件や状況で開発が進むプロジェクトはひとつとしてありません。
このセッションでは、アーキテクチャを「採用するもの」ではなく「考え出すもの」ととらえ、それぞれに異なるプロジェクトで開発するみなさんが「そのプロジェクトにおける最適」なアーキテクチャを考え出すための道筋を議論します。
アーキテクチャに影響を与える要素を整理し、既存のパターンからアーキテクチャに対する観点を得て、具体的な Flutter のコードで理解を深めることで、実際のプロジェクトで使える考え方を身につけることを目指します。
以下のようなプロジェクトにおいて、開発方針の意思決定をするリードエンジニアの方々の役に立つことを目指しています。
みなさんは、 Flutter のバージョンアップで思わぬ事態になってしまったことはありますか?
私の所属している組織では、主に「宅配」のためのスマホアプリを Flutter で開発・運用しています。
利用者には VoiceOver を利用した方々もいらっしゃるのですが、ある日を境にその方々からアプリクラッシュの報告が上がるようになりました。
原因を探ってみると、 Flutter のバージョンアップに伴い Engine に加えられた変更が影響していることまでわかりました。
変更によって、 VoiceOver を有効にした状態で WebView を連続して利用する画面遷移を行うと、アプリがクラッシュするようになっていたのです。
該当する Issue も立てられてはいましたが、いつ解決するのかはわかりません。
このままでは、いつまでに改善できるか利用者の方たちと約束ができない状態です。
そこで、我々はこの Issue を自力で解決することで、自分たちのアプリの安定化を図る決断をしました。
このセッションでは、原因特定から改修版アプリのリリースまでの紆余曲折と、実際に Flutter 本体へコントリビュートしてみてどうだったか、ということをお伝えします。
Androidアプリの難読化されたコードを見るのが趣味の筆者。ある日、Flutter製のAndroidアプリの多くには、共通のBase64エンコードされている文字列が使用されていることを発見しました。この文字列は、flutter/packagesの中の特定のデータ型に関連する重要な手がかりを含んでいることが判明。詳細はGitHubの公開アーカイブされたリポジトリでの調査により、これらの文字列がどのような目的で使用されていたのかが筆者の中で明らかになりました。
この発見は、特に、AndroidのSharedPreferencesの実装に対するFlutterのユニークなアプローチとマルチプラットフォームに対応するフレームワークとしての解決策の苦悩が垣間見えます。プロダクトの実装時には気にする必要のない部分、Flutterの1st partyライブラリの実装を深堀りしていきます。
<トークのアジェンダ>
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
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.