見出し画像

DroidKaigi2024のワークショップに参加してきました! #REALITY

こんにちは!REALITY Androidエンジニアのぴかです。
遅ればせながら、先日参加してきたDroidKaigi2024 day1のワークショップについて、その様子をお伝えしたいと思います!!
day2, day3のセッション参加については後日投稿予定です!

参加メンバー

ぴか

前回のDroidKaigi参加は2022で、参加2回目です!
KMPは初心者なので、がっつり学ぶつもりで参加しました!
↓前回参加の様子

mits_sid

DroidKaigiは今回の2024が初参加です。これまでKMPに触れたことはほぼありませんが、クロスプラットフォームの開発経験があり、特にプラットフォーム毎の異なる実装が要求される場面が大変になる印象があったため、その辺りがどうなっているのかを知りたく参加しました!

応為

DroidKaigiは前年の2023に引き続き参加2回目です。
個人でKMPはAndroid/iOSの2プラットフォームで進めていっているので、今回のセッションでは他のプラットフォームも合わせてどのように開発が進められるのかを見るために参加しました。

ワークショップ

会場について

広々会場で参加者さんもたくさんいらっしゃいました
Giraffe!多分Android Studioのversionから来てそう!
コーヒーやドリンクのサービスも提供されてました!本格的!

KMPについて

今回のDroidKaigiのワークショップはKMP(Kotlin Multiplatform)で、REALITYとしては未導入ではありますが、個人開発や将来の活用のために参加しました。
REALITYのアプリにおいてはUaaL(Unity as a Library)を使用しており、Nativeにおける差分や調整が多く必要であるため、現実問題としてKMPの導入は難しいと考えていますが、業務ツールや新規プロダクトとしての利用としては活用の可能性が考えられると思います。

KMP自体は、普段使っているKotlinからJVMを抜いたPureKotlinを使って開発するのが主な開発となります。
ここだけ聞くとハードルが高いように思えますが、Androidをベースとしたプロジェクトで、CoroutineやFlowといった昨今のイベント駆動開発をされているプロジェクトではあまり大きな違いを意識することなく移行することができます。
また、ライブラリについても対応しているライブラリであれば共通のロジックとして実装することができるので、管理や作業コストの削減を図ることができそうです。

また、KMPで使用するCMP(Compose Multiplatform)についてもAndroidの経験者であれば、実装や学習のコストを少なくできそうです。

セッションについて

セッションはなんとKotlinの開発元であるJetBrainsの方がいらっしゃるということで期待度を高く持って参加しました!
実際のセッションやスライドも英語ではありましたが、スライドも合わせて理解しやすい内容で問題なくワークすることができました。

ワークショップについて

ワークショップの参加者は満席の約200名も参加されており、Android, Desktop, Web(Wasm)の3つに対してのKMPの開発体験を行いました。
事前準備としてはKMPの開発ツールであるFleetのセットアップや配布されたリポジトリでのビルド確認等を行っていきました。

基本的にはスライドの説明を参考にしながら、リポジトリのTODOを開発していく形で実装・確認を進めていきました。
そもそも普段開発しない領域であったり、環境によっては、一部ビルドがうまくいかないこともあり難しい部分もありましたが、参加メンバーは比較的躓くことなく、順調にワークできました!
今回のビルドの対象外である、iOSについても極力説明を加えてくださったので、個人開発等の面においては有意義だったと思います。

感想

個人的にはKMPについてふんわりとしたイメージしか持っておらず、実際のビルドを試しやすい環境で用意してくださったので、簡単な開発イメージが持てたことは非常に良い経験になりました。
現状のプロダクトへの導入はすぐには難しそうですが、Androidの開発経験を活かす形での個人開発や新規のプロダクトには、とても有効であるとポテンシャルを改めて感じました!
KMPの開発は今後も盛んになっていくと思うので、動向を見守っていきたいと思います!