
こんにちは!DroidKaigi 2025 の興奮冷めやらず、いまもセッション動画を見返している @error96num です。
まずは、DroidKaigi おつかれさまでした! 今年は STORES から20名のメンバーが現地参加し、ブース出展・登壇・スタッフ活動など、盛りだくさんの3日間を過ごしました。
この記事では、STORES で取り組んだことや、印象に残ったセッションについてみんなの感想をまとめていきたいと思います。
DroidKaigi 2025 について
DroidKaigi はエンジニアが主役のカンファレンスで、Android 技術情報の共有とコミュニケーションを目的としています。*1
2025年は 9/10〜9/12の3日間で開催されました。
取り組んだこと
DroidKaigi の会期中に STORES で取り組んだことについて紹介します。
ブース出展
STORES は今年もゴールドスポンサーとして DroidKaigi に協賛し、ブースを出展しました!
ブースでは、「STORES ブランドアプリ」「STORES モバイルオーダー」のプロダクトを体験いただきました。

ランチ会の開催
9/11 には、会場近くの飲食店で STORES 主催のランチ会を開きました!
ランチ会では DroidKaigi 参加者のみなさんとアツアツのピザを食べながら、技術トークに花を咲かせました。

ご参加いただいたみなさま、ありがとうございました!
登壇
今年の DroidKaigi では STORES から3セッションにわたり @error96num、@enomotok_、@YkOxc、@mimimi_engineer の4名が登壇しました。
遡ること DroidKaigi の約半年前、モバイルエンジニアみんなでセッションのネタ出しをするところから、準備は始まりました。採択された後は資料作りのための壁打ち会、発表練習を通じてフィードバックを回し合い、発表内容を練り上げていきました。
登壇者だけでなく全メンバーが一丸となって、良い発表につながったと思います!




STORES メンバーの運営スタッフ活動
STORES から @AkkeyLab、@YkOxc、@mimimi_engineer の3名が DroidKaigi 2025 の運営スタッフとして参加し、会を盛り上げてくれました。
3日間おつかれさまでした!
印象に残ったセッション
ここからは参加したメンバーの印象に残ったセッションについて紹介します。
@error96num
Metroで学ぶ依存性注入のナビゲーション
Kotlinで書かれたコンパイル時DIのフレームワーク「Metro」の解説。
個人的には「KMPプロジェクトでよく利用しているKoinからMetroに乗り換えると、どんなメリットがありそうか?」という観点で聴いていた。
Koinとの比較としては、Service Locator(実行時DI)の弱点である実行時エラーを、Metroのようなコンパイル時DIでは防げる。プロジェクトの規模が大きくなるほど、コンパイル時に検証してくれるメリットを発揮しそう。
また、Metroは、コンパイル時DIでネックになりがちなビルドパフォーマンスに優れていることも魅力に感じた。
Compose MultiplatformとSwiftUIで作るハイブリッドモバイルアプリ:コード共有とUI融合の実践
特に参考になった箇所は以下。
双方向のUI埋め込みの実装方法
- SwiftUIの中にComposeを埋め込む方法: ComposeからSwiftUIへUIViewControllerを渡し、SwiftUIのUIViewControllerRepresentableでラップして表示する
- Composeの中にSwiftUIを埋め込む方法: SwiftからKotlinへUIViewControllerのファクトリーを渡し、Compose側でUIKitViewControllerを使ってSwiftUIを表示する
プロダクトライフサイクル別のKMP/CMPの導入戦略
- 初期・プロトタイプ: できるだけ共通実装を多くし、マルチプラットフォームでサポートしてない機能だけ、ネイティブで実装にする
- 成長期: UXを向上したい箇所を、ネイティブ実装に置き換える
- 安定期: パフォーマンス・保守性を向上したい箇所を、ネイティブ実装に置き換える
@tomorrowkey
KotlinでのAI活用による開発
コード補完からVibeCoding、最終的にはAIを使ったプロダクト開発までレベル別にAIの活用方法が説明されました。やはりIDEに備え付けのAIなだけあってIDEとの統合が美しいと感じました。
Koogというフレームワークの紹介について、正直自分は使わないプロダクトかなという先入観を持っていたのですが、思ったより幅広い意味でのAI Agentという定義だったので、AIパワードなプロダクト作りにシンプルで力強いパートナーだなと認識が改めさせられました。
こういうソリューションの提供はJetBrainsらしいプロダクトだなとも思いました。
例外のその先へ:セーフティクリティカル原則に基づき堅牢なAndroidアプリを構築する
Kotlinの例外の扱いづらいポイントを実例を伴って説明があり、それをどうやって解決していくのか具体的なコードの説明があってとても整理された気持ちになりました。
そのときどきによってエラーの設計をしていましたが、とてもよい指針になったのでチームに持ち帰ってぜひ実践したいと思いました。
また、Kotlin 2.4で導入されるRich Errorについてもどうやって使うのか話があり、これからがとても楽しみになりました。
Navigation 2 を 3 に移行する(予定)ためにやったこと
Nav3の基礎から実際にアプリでの移行計画まで話されました。
Nav3は大枠のフレームワークだけが提供され、多くをアプリエンジニアが実装する必要がある一方で、そのサンプルが圧倒的に足りない状況です。 こういったなかで実際に移行計画を伴った実例が話されることはたいへん有益で助かりました。 実際にNav3に移行するときにもう一度見返したいセッションです。
@huin
WebViewとはさようなら:KMP + Composeによるサーバー駆動UI
- STORES ブランドアプリでも Server Driven UI (SDUI) の仕組みを持っているので、他社がどのような実装をしているか?というのはとても興味のあるトピックだった
- 実装アプローチはかなり愚直にやっていて、悪くいえば力技、良くいえばそれが最も正しいアプローチだということを知ることができた。その点で学びになるトークだった
- STORES ブランドアプリは iOS/Android でそれぞれネイティブの実装になっているが、KMPであれば (理論上は) Web, Desktop とも実装を統一でき品質・効率面でもメリットがあるので、その点も参考になった
OAuthを正しく実装する:Androidアプリのためのセキュアな認証
- 認証・認可の仕様は本来すべてのエンジニアが理解しておくべきだけど、なかなか難しい領域なのも事実
- 新しいRFCが出たり、OS側の機能・APIも変わることがあるので、最新のベストプラクティスをキャッチアップするのが意外に難しかったりする
- 本トークは、Android におけるベストプラクティスをしっかりと説明してもらえた点でとても勉強になるトークだった
@enomotok_
Androidエンジニアとしてのキャリア
定期的にキャリアについて考えることがありますが、シニアエンジニアがどのような考え方をしているのかの一例を知ることができ、とても参考になりました。特にスペシャリストとジェネラリストに対する考え方が言語化されていて、聞けて良かったと思いました。
共有と分離 ─ Compose Multiplatform “本番導入” の設計指針
naberyo (@error96num) との共同発表で登壇させてもらいました。今回が初めての登壇でしたが、当日の準備から発表、 Q&A のセッションまで登壇者が発表しやすく場が設計されていて、頭が下がる思いでした。また DroidKaigi はダイバーシティ & インクルージョンをとても大事にしていることがよくわかり、会期中とても快適に過ごすことができました。
@n-seki_
Androidは裏でどのようにデータ構造を活用しているのか
- 木構造やDAG(有向非巡回グラフ)などのデータ構造やDFSなどの探索アルゴリズムが、実はよく使うライブラリやAndroid SDKで活用されているという内容で、個人的にデータ構造やアルゴリズムには興味があるので面白く聞くことができました
- Composeで利用されているGapBufferの解説もあって学びがありました
- Cache Me If You Can https://2025.droidkaigi.jp/timetable/946751/ でもDAGが登場し、DAGはいろいろなところで使われているなぁと実感できました
@megabits_mzq_jp
Android値受け渡し大全 〜設計を制する者が「渡す」を制す!〜
iOS 普段やってたので、Android の経験が少ないです。みっちゃんのこの割と初心者向けのトークを見て Android を書いたときの記憶を色々呼び出してみました。ちなみに、細かいところですが、Android が画面回転するときステートが消えるという仕様が iOS 開発者から見るとすごく不思議なことでした。どんな歴史的な流れでここで別れたんでしょう。🤔
@day_craft
ユーザーも開発者も悩ませない TV アプリ開発 - Compose の内部実装から学ぶフォーカス制御
以前、Leanback ライブラリを使ったアプリ開発に携わったことがあったので、Composeに移行した現在はどのように実装してるのか気になって聞きに行きました。Leanbackが暗黙的に行っていたフォーカス制御を、ComposeではfocusRestorer等を用いて自ら明示的に実装する必要があることがよく分かりました。これにより実装は複雑化するものの、宣言的なUIと組み合わせることで、これまで難しかった細かな挙動の制御や状態更新が可能になるとのこと。普段、触れない領域の話を聞くのは興味深く、楽しめました。
@10llip0p
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
アプリ開発をする上でテスト実装の優先度は下がりがち、また非同期処理のような複雑なテストの実装は難易度が高いという課題に対して、実際の業務の中でテスト実装を JetBrains AI Assistant に委ねるアプローチがどのくらい実用的かを評価した発表でした。
様々なテストケースについていくつかの評価軸で定性的に分析されており、現状テスト実装をする上で AI に任せられる領域と、人間が担うべき・担った方が良い責務のベストプラクティスが示されておりとても参考になりました。
アフターイベントのお知らせ
10/17 に恵比寿の STORES オフィスで、DroidKaigi 2025 と iOSDC Japan 2025*2 合同のアフターイベントを開催します。
心に残ったトークの振り返りや、出しそびれた小ネタ、カンファレンスきっかけで始めた挑戦の話など、気軽に話せる交流の場を準備しました。参加のきっかけは何でもOKです。イベントの余韻が残るうちに、もうひと盛り上がりしましょう!
STORES からは Android エンジニアの @YkOxc、iOS エンジニアの @n3k0w3n と @megabits_mzq_jp が登壇します。
一般の参加枠に加えて、発表枠もございます。ぜひ遊びにきてください!
最後に
今年の DroidKaigi でも、セッションや各社ブースを中心に興味深い話をたくさん聴くことができました!
また、STORES の登壇を聴いてくださった方やブースにお立ち寄りいただいた方とじっくりお話ができたのも、学びになりました。
最後になりますが、STORES ではモバイルエンジニアを募集しています!カジュアル面談はもちろん、定期的に Beer Bash を開催しています。少しでも興味を持ってくださった方は、ぜひご参加ください!
*1:DroidKaigi 2025 の詳細は https://2025.droidkaigi.jp/ を参照してください。
*2:iOSDC Japan はiOS関連技術をコアのテーマとした技術者のためのカンファレンスです。今年は 9/19〜9/21 に開催されます。詳細は https://iosdc.jp/2025/ を参照してください。