はじめに
こんにちは!Voicy でフルスタックエンジニアとして働いております、たかまてぃー(@kyappamu)です。先日、同僚のおはぎ(@a_key_bako)さんと、日本最大級のAndroid開発者向けカンファレンス「DroidKaigi 2025」に参加してきました。
「DroidKaigi」は、日本のみならず世界中のAndroidエンジニアが集まり、最新の技術やベストプラクティスを共有する、Androidエンジニアにとってまさに夢のようなイベントです。私たちは今回、日々進化するAndroid開発の最新トレンドを肌で感じ、自社サービスの開発に活かせるヒントを得ることを目的に参加しました。
イベントは3日間の開催で、初日のDay1は「ワークショップ」、Day2とDay3は「カンファレンス」という構成でした。ワークショップはおはぎさんのみ参加で、カンファレンスは二人で参加して最新技術のセッションを思う存分に楽しんできました。
Day1では、Kotlin Multiplatform (KMP) と Compose Multiplatform を用いたクロスプラットフォームアプリの実装を体験するワークショップが開催されました。
JetBrainsから来日されたお二人が講師を務め、プレゼンテーションは英語でしたが、英語がそれほど得意でない方でも十分に楽しめる内容だったと思います。 特に、山手線の発車メロディでプレゼンテーションが始まるなど、日本人向けの粋なジョークのチョイスが素晴らしかったです。
ワークショップは、主に前半と後半の2パート構成で進行しました。
最初のパートでは、マルチプラットフォームにおけるモジュール構成の実践として、プラットフォーム固有の実装を体験。 具体的には、Android、JVM、Webの各アプリで内部ストレージへの読み書きを実装しました。 実装の流れとしては、まず共通モジュールで振る舞いを定義する interface を expect キーワードで宣言し、次に各プラットフォーム向けのモジュールで actual キーワードを使い、具体的な処理を記述します。 www.jetbrains.com この仕組みのおかげで、actual の実装が漏れているとIDEが警告してくれるなど、Kotlin Multiplatformプラグインの優秀さも体感できました。 plugins.jetbrains.com
2つ目のパートでは、ホットリロードによるUIの即時反映や、リソースファイルの共有と多言語対応を体験しました。 特に、レイアウトの変更が実行中のアプリへ即座に反映されるホットリロードは素晴らしい体験で、まさしくPdMやデザイナーとプロトタイピングを進める際に重宝する機能だと感じました。 現状、ホットリロードのAndroid/iOSアプリへの対応予定はないとのことでしたが、JVMで動作するデスクトップアプリ開発が要件となる場合には、KMPが非常に有力な選択肢になるのではないでしょうか。
Day2 & Day3 印象的だったセッションのハイライト
(by たかまてぃー)
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
これからAndroid開発を始める人に向けて、現在主流のAndroid開発環境の紹介に始まり、 押さえておくべき技術要素、逆にそこまで力を入れて学ばなくても良い技術要素についても共有していただきました。 私自身Android開発の経験が短く、どのようにキャッチアップや知見を深めていくのが良いか悩むこともあったので、 このセッションを聞いて今後の具体的なアプローチが見えました。
はじめてのMaterial3 Expressive
最近Google社が公開した新しいデザインシステム Material3 Expressive の紹介やデモを実演いただき、Material3 Expressive についての知見が深まりました。 これまでの Material3 から、よりユーザーにとって直感的でワクワクするような遊び心あるUIUXが提供されるようになったなと感じました。 本セッションではこの Material3 Expressive がどのようなアプリや場面に適しているかの紹介と、一方で逆に適さないアプリや場面もあることも紹介いただきました。 すぐには業務で使用する機会はないかもしれませんが、個人的に触ってみたいと思いました。
Compose MultiplatformとSwiftUIで作るハイブリッドモバイルアプリ:コード共有とUI融合の実践
Kotlin Multiplatform でビジネスロジック層を共通化し、Compose Multiplatform でUI層を共通化する手法、 そして全てKotlinのコードで実装するのではなく、UIUXなどアプリの特性に応じて、Compose Multiplatform のコードから Swift UI のコンポーネントを呼び出す手法が紹介されました。 個人的には Kotlin Multiplatform も Compose Multiplatform も使ったことがなく、Swift UI と共存することができることも知れて、目から鱗でした。 それぞれ段階的に導入も可能なので、導入検討の際は、まずは小さな画面や機能からはじめて特長を見極めた上で、小さく移行を進めていくアプローチが良さそうに感じました。
(by おはぎさん)
Androidオーディオで成功する、その先へ
iOSとAndroid両プラットフォームにおける音楽制作に関するエコシステムに関するセッションでした。
このセッションではAndroid向けの音楽制作アプリを作成する上での障壁と、iOS向けのアプリではなぜその障壁がないのかについて紹介されました。 特にAudio Unit v3の存在がiOSでの音楽制作のエコシステムに寄与しているとのことでした。
私は個人的にいくつかのiOSの音楽制作アプリで遊んだことがあるのですが、思えばAndroidアプリでは同じような経験をしたことはないことに気づきました。 この差はストア上で流通しているアプリの数にも起因している気がしています。 普段単に消費する側として接しているアプリの深いところを覗いた気がして大いに知的好奇心がくすぐられました。
これでもう迷わない!Jetpack Composeの書き方実践ガイド
Jetpack ComposeはAndroidでUIを開発する上でのデファクトスタンダードとなって久しい昨今ですし、私自身もそこそこの年月Jetpack Composeを使ってきたのですが、自身で実装するときやメンバーの書いたコードをレビューをするときに、「あるべきはどうなんだろう?」迷うところが多々あります。 Jetpack Composeに改めて入門する気持ちでセッションを聞いていましたが、ついハマってしまうポイントが抑えられていて、収穫は非常に大きかったです。 このセッションで紹介されていたプラクティスやセッション中でも引用されていたcompose-api-guidelines を元にコーディング規約やAIに読み込ませるドキュメントなどに早速取り入れたいという気持ちになりました。
Cache Me If You Can
Cacheや並列化のオプションを有効化したり、マルチモジュールにしたりしたらビルド早くなるんでしょ?
というなんとなく印象は持っていましたが、具体的にどのようなオプションを有効にしたら良いのかや、どのようなモジュール構成が望ましいのかについてはキャッチアップができていない私にとって待ち望んでいたセッションでした。 Gradle一般、そしてAndroid Gradle Pluginのビルドの仕組みを知れたことは大きな収穫でした。 この発表を聞くことで、普段開発しているアプリのビルド環境の理想が見えてきたと思います。
カンファレンス全体から見えたトレンド
複数のセッションやスポンサーブースを回る中で、いくつかの技術トレンドが見えてきました。
まず、Kotlin Multiplatformの本格的な普及です。個人的に実験的な技術という印象を持っていましたが、多くの企業が実際に導入し、その知見を共有していました。Day1のワークショップでは、Kotlin MultiplatformとCompose Multiplatformを活用して、コードを最大限に再利用しながら高品質なクロスプラットフォームアプリを構築する方法が紹介されましたし、Day2&Day3のカンファレンスでのセッション内容からも、クロスプラットフォーム開発の視点を持つことの重要性を強く感じました。
次に、AIのモバイルアプリ開発への組み込みです。機能実装やテストコード生成、エージェントモードといったコーディング支援にとどまらず、 ユーザー体験のパーソナライズ化や効率的なデータ処理など、AIはもはや特別な技術ではなく、アプリの機能として当たり前に組み込まれる時代が来ることを強く感じました。
DroidKaigiならではの体験
ほかにも、DroidKaigiには様々な魅力があります。その一つとして、公式アプリのソースコードはGitHub上でOSSとして公開されており、最新のAndroid技術がふんだんに使われていて勉強になります。また、DroidKaigi当日に向けて、アプリの機能追加、バグはIssueで管理されており、挙げられたIssueは誰でも挙手してPull Request を作成することができます。弊社でも先日、有志でメンバーを募り、みんなでワイワイIssueに取り組む会を行いました。
また、スポンサーブースでは、普段交流する機会のない他社のエンジニアの方々と直接お話しすることができ、それぞれの開発文化や技術スタックについて情報交換ができました。同じ課題を持つエンジニアと話すことで、自社の課題解決に向けた新しい視点を得ることができました。
まとめと今後の展望
DroidKaigi 2025に参加して、Android開発の「今」と「これから」を肌で感じることができました。特に、Compose MultiplatformやオンデバイスAIといった新しい技術が、すでに実務レベルで活用されていることを知り、大きな刺激を受けました。 今後も、常に最新の技術をキャッチアップし、より良いサービス開発を目指していきます。