見出し画像

DroidKaigi2022に参加してきました!

REALITY

はじめに

こんにちは!Androidエンジニアのぴかです。iOSチームがiOSDCに参加してきたのに続いて、AndroidチームもDroidKaigi2022に参加してきました。今回はその様子や感想などをお話ししたいと思います!

参加の経緯

REALITYでは去年のDroidKaigiに登壇していることもあり、今年のDroidKaigiでも自分含めセッションの投稿を行いましたが、今年は採択されませんでした…
ですが、今年はREALITYがスポンサーになったこともあり、メンバーの一部がオフラインで参加してきました。

参加メンバー

ぴか
Androidを初めて半年ちょい。最近Pixel6Proを買ったが、Pixel7の方が良かったのでは…?と思い悩む今日この頃。今月末のGREE Tech Conferenceに登壇します!よろしければ是非ご参加ください!
DroidKaigiは初参加。

tkc
ブースでAndroid開発歴何年目?と聞かれてその場でうまく思い出せなかったのですが数えてみたら6年やってました。
DroidKaigiは初オフライン参加。

同じ会場内で開催されていた

DroidKaigiについて

DroidKaigiはAndroid技術情報の共有とコミュニケーションを目的としたカンファレンスです。コロナの影響でここ2年はオフラインでの開催ができていませんでしたが、今年はオンラインとオフラインのハイブリッド開催となりました!
個人的には積極的に参加したいイベントにはオフライン、部分的に参加したい場合にはオンラインといった形に住み分けができているように感じており、むしろ以前よりも技術系カンファレンスに対する敷居は低くなったように感じています。

また、DroidKaigiではスポンサー企業のブースが多数出店されており、各社のノベルティーや取り組み等を見ることができ、楽しい時間が過ごせました。


貰った山盛りのノベルティー
ボトルやタンブラーも!

スタンプラリーも実施されており、集めるとDroidKaigiのノベルティーも頂けました!

↑ スタンプラリーでの景品と参加証

気になった発表

今回のDroidKaigiではJetpack Composeの導入が進み、需要が高まっていることからJetpack ComposeやTestの登壇内容が多いように感じました。
REALITYにおいても絶賛Jetpack Composeの導入中なので、興味が惹かれるセッションがとても多かったです!
以下に参加メンバーが気になった発表と感想を載せていきます。

Jetpack Compose で Material Design 3

最近公開されたMaterial Design 3に関する発表で、Material Design 2から3への変更点から移行のための戦略についてのお話でした。
Material Design 3への情報はまだ充実していない状態だと思うので、進化している点を理解することができました。REALITYでは独自のデザインシステムの導入を行なっているので、直近での導入の予定はありませんが、個人開発のアプリ等での導入にはとても参考になると感じました。(ぴか)

Jetpack Composeの状態管理とAPIコール - React Hooksに習う、Apollo + Jetpack Compose

Jetpack ComposeとReactの類似点から、GraphQLを利用するためのApollo KotlinをReact + Apollo JSと同様な開発体験にするようにラップしていく発表でした。
Apollo Kotlin自体がApollo JSと違うのが意外でしたが、Apolloを使う場合には発表のように対応していかないと、開発体験として微妙で…となっていきそうと感じました。現状、そもそもGraphQL自体が未導入なので社内で勉強等進めていきたいと改めて思いました!(ぴか)

実例から学ぶJetpack Composeのパフォーマンス改善

Composeにおけるパフォーマンスの計測や改善についての発表。
僅かな高速化のために複雑なコードになってしまうよりは、パフォーマンスは少し劣っていても簡潔なコードにしたほうが良い、という「速すぎる高速化」という話題は普段の開発でも気をつけたほうがいいなと感じました。(tkc)

ついにアプリ毎の言語設定がOSレベルでサポートされたぞ!

Androidではアプリごとの言語設定はこれまでOSとして提供されていませんでしたが、Android13でついに提供されたという発表。
自分も以前アプリごとの言語設定を実装させられたことがありますが、なかなか大変でした。
発表の中で「アプリごとの言語設定はさせないという意思を感じる」というような発言があったと思いますが、かなり共感してしまいました。
それがAndroid13 AppCompat1.6.0では独自の実装をしなくても、かなり簡単にアプリごとの言語設定をできるようになっていることがわかったので、
こっそりNEXT REALITYに突っ込んでみたい気持ちになっています。(tkc)

人の声を可視化する

音声プラットフォームVoicyのエンジニアさんによる音声周りの実装についての発表です。
REALITYもプロダクトで音声を扱っています。しかし、自分は音声周りを扱う機会がなくよくわからない状態で見ていたのですが、この発表ではそのような初心者でもAndroidで音声をどのように扱うかがわかりやすく解説されていました。
特に音声を波形にする部分は他の人はどのように実装しているのかな?と思ったことがあったので、実際にプロダクトで使われている知見を得られる貴重な発表だなと思いました。
音声周りの実装に入門する人におすすめできる内容です。(tkc)

はじめようビルドメトリクス

ビルド時間改善における計測方法についての発表です。
目的別に複数のビルド時間の計測方法を知ることができました。
以前のKSP導入の際、この方法でいいのだろうか?と思いながらビルド時間を計測していましたが、この発表を見てまさにgradle-profilerを使って計測をすればよかったということがわかりました。
もともとビルド時間の計測についての内容が含まれるとは思わずにこの発表を見ていたのですが、偶然にもまさに知りたかった内容と出会うことができてこういうイベントの良さを実感しました。(tkc)

Compose for Desktopで始めるAndroid開発効率化ツールの作成

REALITYでは社内勉強会が多数開催されているのですが、その中でCompose for Desktopを触ったことがあったので気になった発表です。
adamというライブラリをつかうことでGUIからadbを操作するアプリの作り方が紹介されていました。
Composeを触ったことがある人なら比較的簡単にGUIのアプリを作ることができることはわかっていたのですが、adbを操作するアプリを作るのは思いつかなかったし、かなり便利そうだったので試してみたいと思いました。(tkc)

Android アプリの内と外をつなぐ UI

Android13でのスプラッシュスクリーンやedge to edgeなどシステムUIと連携する場合のベストプラクティスについての発表です。
Android13についてのキャッチアップが不十分だったり、そもそもスプラッシュなど現状のREALITYでも十分な対応ができていない点があり、それらについてのベストプラクティスはとても参考になりました。
そこまで大きな改修にならないで対応できそうな内容もあり、順次対応を頑張っていきたいと思います!(ぴか)

おわりに

今回の参加メンバーは二人ともオフライン参加は初めてだったので、ちょっとあたふたすることもありましたが、発表をオフラインで聞くことでオンラインよりも集中して発表を聞くことができたり、発表の内容を吸収することはもちろん、開発自体に対するモチベーションがとても上がったと思います。

またDroidKaigiでは今回Meetupもあり、同じくAndroidで開発をしている方々と交流を深めることができ、弊社以外の開発の話ができたこともとても良い経験になりました!

DroidKaigiは来年もおそらく開催されると思うので、次回は登壇目指して開発を進めていこうと思います!
また、情報のキャッチアップや社外との交流など、オフラインイベントの良さを改めて感じるきっかけとなったので、今後も機会があれば他のイベントに参加していきたいと思います!

最後に、REALITYでは一緒に働く仲間を募集しております。
Androidエンジニアもそうでない方も興味があれば以下のリンクをご覧ください!