Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

DroidKaigi 2024に参加しました!

こんにちは、カンファレンス・OSSサポートチームの後藤です。
先日ベルサール渋谷にて開催されたDroidKaigi 2024に参加してきたので、その振り返りや感想などをお伝えします。

2024.droidkaigi.jp

DroidKaigi 2024はAndroid技術者を対象とし、国内外から多くの参加者が集まる国内最大規模の技術カンファレンスです。
弊社は昨年に引き続き、サポータースポンサーとして協賛させていただきました。

tech.studyplus.co.jp

振り返り

弊社からはクライアントグループのエンジニアのうち、自分を含めた2名が参加しました。以下に各々の感想を書いていきます。

後藤

私は昨年に続いて2回目の参加となりました。
普段はFlutterで開発していて、Androidの技術に触れることはほとんどないのですが、昨年の参加後に業務で少しだけAndroid開発に携わる機会がありました。そのおかげで、今年は昨年よりも内容がスムーズに頭に入ってきた気がします。

セッション

エンジニア1年目で複雑なコードの改善に取り組んだ話

自分も入社してから1年ちょっとでリファクタリングに挑戦した経験があるので、とても共感できました。 慣れない設計周りの実装をする際は共有・相談といったコミュニケーションを密にとることが大事だということを改めて感じました。また、設計時にシーケンス図を使うというのも、頭の整理にもなるし他の人にも伝わりやすくていいなと感じました。
最後に、今すぐにできることとして紹介されていたコードを少しでも読みやすくしたりキャッチアップの手がかりを残したりなどは、気づいたときにすぐに改善する習慣をつけたいです。 2024.droidkaigi.jp

AndroidアプリのUIバリエーションをあの手この手で確認する

さまざまな端末や画面サイズに対応するための検証手段が紹介されていました。AndroidはiOSに比べてさまざまな環境に対応しなければならないということは頭にはありつつも、実際にどのくらいのバリエーションがあるのかや、それらの検証については深く考えたことがなかったのでとても勉強になりました。
特にCompose Previewは画面サイズやフォントなどを引数指定で簡単に設定できたり、UI Check Modeもとても便利そうでした。私は普段Flutterで開発しているためComposeには馴染みがありませんが、少し使ってみたくなりました。
また、Android Studioで使える部分としては、Resizable Emulatorやadbコマンドで画面サイズや密度を自由に変えられることは知らなかったので、業務で検証する際は使っていきたいです。

2024.droidkaigi.jp

サイドイベント

セッションの合間にスポンサーブースを回ったり、Day1終了後のアフターパーティーに参加しました!
スポンサーブースではサービスについて説明を受けたり、ブース限定のノベルティをゲットしたりなど、とても満足できました。
また、アフターパーティーではさまざまなバックグラウンドを持った方々とお話しができて、有意義な時間となりました。交流してくださった方、ありがとうございました。

JetBrainsさんのピンバッジ(左)とアフターパーティー(右)

隅山

最近は主にFlutterを使った開発に取り組んでいますが、保守運用のために時々Android開発も行っています。
そこで最新のAndroid開発情報を得るため、DroidKaigiに参加しました。
今年のDroidKaigiでは、Androidに限らずアプリ開発全般に関する知見も多く共有されていたため、特に私が気になったセッションをいくつか以下にまとめました。

セッション

オフライン・ファーストなアプリの実例: ガーナの農家アプリ

普段あまり意識できていなかったオフライン環境でのアプリの動作について考えさせられました。
特に、オフライン環境下でのデータの流れやキャッシュの設計について、具体的なアプローチを学ぶことができました。
普段の開発ではオンライン接続を前提に考えることが多いですが、このセッションでは別の視点でのアプローチを聴くことができ、とても興味深かったです。

弊社のアプリもある程度オフライン環境での動作を考慮していますが、今回のセッションを通じて、さらにオフライン環境に配慮した設計を取り入れる余地があると感じました。
今後の開発では、オフラインでのユーザー体験を向上させるための実装も積極的に取り入れていきたいと考えています。

Android StudioのGeminiでコーディングの生産性を高める

Geminiを使ったコーディングのデモを見ることができ、想像以上に多機能で驚きました。
Geminiは単にコードの提案するだけでなく、コードの文脈をしっかり理解し、機能追加や変数名のリネームまで自動で対応してくれるのは非常に便利です。
また、コミットメッセージの生成まで自動化できる点も印象的でした。

個人的に最も興味深かったのは、Geminiがユニットテストのテストケースを洗い出してくれる機能です。
ユニットテストの運用には多くの労力がかかるため、これをある程度Geminiが管理してくれるのであれば、開発工数の大幅な削減が期待できると感じました。
今後、Geminiをさらに使いこなすことで、開発効率の向上が期待できそうです。

おわりに

参加レポートは以上になります。
今年のDroidKaigiも、とても楽しく、そして勉強になる時間を過ごすことができました。
運営の皆さん、本当にありがとうございました!ぜひ来年も参加したいです。