What a wonderful 2D world!

アニメ/漫画/ゲーム/その他、色んなことを雑多に書いていきます

【いまさら】DroidKaigi2025 参加してみて

書く暇もなく開催してから3ヶ月強経過した今、いろいろ思い返しながら「DroidKaigi2025」に参加してみた感想などを書いていきます。

本当に毎年、素晴らしい発表ばかりで、こちらも本当に勉強になるなーと思って聞いております。

また、今回はワークショップにも参加してみましたので、その感想なども共有できればと思います。

※年を越す前に書き終えたかったのですが、微妙に越えてしまった...

概要

DroidKaigi2025
https://2025.droidkaigi.jp/

DroidKaigiはエンジニアが主役の Androidカンファレンスです
Android技術情報の共有とコミュニケーションを目的に 2025年9月10日(水)〜12日(金)の3日間開催します。

  • 開催日:2025年9月10日(水)〜12日(金)
  • 場所:ベルサール渋谷ガーデン

1日目:ワークショップ

今年はワークショップに初参加しました。
最近、アプリ開発現場ではマルチプラットフォームはだいぶアツい技術となっており、私の会社でも徐々にFlutterの案件が増えてきたように思います。
やはり、1つのソースコードで両OS(もしくはそれ以上の)プラットフォーム向けアプリケーションが開発できるのは大きな利点です。

Androidのカンファレンスということで、Kotlin MultiPlatform(KMP) / Compose MultiPlatform(CMP)をテーマにしたワークショップとなっており、これにはとても興味が惹かれたので、会社の同僚とともに参加してみました。

docs.google.com

講師2名の方は英語ネイティブの方でちゃんと話が理解できるか不安でしたが、スライドは日本語となっており、また、英語もなんとなくですがニュアンスは伝わり、しっかりとKMP/CMPについて学んでくることができました。

KMPは共通コード内で各プラットフォーム固有のコードの実装を含めたい場合、以下のような書き方で実装・呼び出しをすることができます。

呼び出し側コード

// common
expect fun getPlatform(): String

実装側コード

// Android
actual fun getPlatform(): String = "Android"

// iOS
actual fun getPlatform(): String = "iOS"

// JavaScript(WASM)
actual fun getPlatform(): String = "wasm"

Flutterで同じようなことをする場合、Method ChannelやFFIPegionなどを使い専用のクラスやメソッドなどを介して橋渡しするコードを書きますが、Kotlinは言語レベルでこの手段が用意されているのはとても良いなと思いました。

実際に採用されているプロダクトもあるようなので、今後個人開発でマルチプラットフォーム向けにアプリ開発をしたい時の選択肢として有りだなと思っています。(来年は何かプライベートで好きなアプリが開発できるといいな...)

2〜3日目:トークセッション

今回も様々なトークセッションを聞き、様々なことを吸収してきました。
トークセッションの動画はすでに公開されていますので、行けなかったなーという方はぜひ動画を見て頂ければと思います。

DroidKaigi 2025 - YouTube

私が現地で聞いてみて気になったトークをいくつか紹介します。

「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド

2025.droidkaigi.jp

自分のプロジェクトチームではしばらく同じチームメンバーになっていて慣れになってしまっているが、いざ他のプロジェクトメンバーや外部から新規で参画者が来た場合の体制が出来上がっていないなーと思いました。
いつも「忙しい!!」で後回しにしてしまっている、チームに関するドキュメントをちゃんと整備しておかないとなと反省しています。

共有と分離 ─ Compose Multiplatform “本番導入” の設計指針

2025.droidkaigi.jp

KMPとCMPを採用した際のTipsがとても参考になりました。
というか、ここまでiOSAndroidの両プラットフォーム向けのアプリがKMP/CMPでできるとはとびっくりしていました。
これは良い選択肢になるかもしれないなと感じました。

EncryptedSharedPreferences が deprecated になっちゃった!どうしよう!

2025.droidkaigi.jp

このトークセッションを聞いた時、自分のチームでも問題になっていた部分で、とても参考になりました。
内部ではこんな事が起こっていたのかーと納得してしまったと同時に、やはりモダンな手法やフレームワークなどにどんどん移行するというのは大事なんだなと思いました。

企業ブース

今年も様々な企画が各企業ブースで行われておりました。
その中でも気になったブース3つをお届けします。

メルカリ

2025年はAI元年とも言うべき年で、AIエージェントの進化が凄まじかったなと感じました。
そんな中、「メルカリ」ブースでは、見本となるUIを、AIエージェントを使っていかに忠実に実装できるか、というものをやっていました。

私もアンケートに回答し、AIに指示するプロンプト文を考え、実際にやってみました。

見本はこちらのサイトにあるものとなります。

m3.material.io

タイトルが「Connecting...」となっているローディングダイアログを、AIに指示するプロンプト文のみで実現するというものです。

結果がこちら!

結構、惜しいところまでいったな!? もうAIでだいぶ良いところまでフロントエンドの実装もできるようになってきたなと思いました。

M3

ここではクリアファイルが配布されていましたが、実はこのクリアファイルには実際に動くコードで書かれたAA(アスキーアート)が印字されていたのです!!!(びっくり)

完全なる職人技... とても素晴らしいです。

DMM.com

DMM.comで開発しているアプリの技術スタックが紹介されていました。

ここで特に印象に残ったのは、「CodeRabbit」をコードレビューとして使用しているプロダクトがあったことでした。

www.coderabbit.ai

私の記憶の中では、AIがレビューするサービスとしては最初期から存在しているものではないかと思っています。
人がレビューするのもだいぶ労力がかかりますし、細かなミスなどの見落としも結構あるので、こういった所をAIで補完するのって本当に大事ではないかなと思いました。

また、最近はCursor Proをプライベートで契約しているのですが、そのきっかけはこのDMM.comのプロダクトの一部で使われていることでした。

cursor.com

AIコーディングエージェントとしては、Claude CodeやCodexが有名で、はたまたエディタなどにも目を向けるとKiroやVSCode、Antigravityなどあります。
しかし、企業でアプリ開発に実績があるとするならばCursorを私も使ってみよう!と思い、Cursor Proを契約してみました。

契約して2ヶ月弱ぐらい経ちましたが、まだまだ使いこなせてはいない状況です。しかし、モデル「Composer1」はなかなか速度が速くて良いですね!

他のモデルも切り替えながら使うことができるので、任せたい内容により使うモデルも切り替えていく方法を取りつつ、いつか使いこなして爆速開発ができると良いなと思っています。

最後に...

コーヒー美味しかったです!今度は実店舗にも行ってみたいな〜〜〜