Yappli Tech Blog

株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。

DroidKaigi 2023に参加してきました!

こんにちは、株式会社ヤプリでAndroidエンジニアをしている古谷です。 DroidKaigiに参加してきたのでその際の様子をご紹介します。

9/14(木)~9/16(土)の3日間開催され、9/14(木)、9/15(金)はセッションがメイン。9/16(土)はワークショップがメインでした。 2日目のオープニングトークを聞く限りではオフライン参加者が1000人程度、オンラインでYoutubeのUUが440人ほど View数が4400程度だったそうです。 トータルすると約1500人ほどの方が参加されていたことになりますね。すごい規模です。

2023.droidkaigi.jp

Day1,Day2

セッション数は45ほど。会場も5つあり、どのセッションも面白そうな内容が多くどれに参加するか迷いました。 見れなかったものは後日配信もされるそうなので、後日確認しようと思います。 セッション以外にもエンジニア同士でコミュニケーションが取れる場もあり、そういったことも交流を広げる場として素敵だなと感じました。

DroidKaigのアプリもモダンな作りでデザインも可愛くて良きです。

会場はA,B,C,D,Eの5つとなっており、各会場の旗?みたいなのが全てAndroidStudioのネーミングである動物のキャラクターが設定されていてとても可愛いです。

各ブースも気合が入っており、さまざまなノベルティーが貰えたり、クイズやコードの問題など参加者の興味を引く内容が盛りだくさんでした。 ケータリングでコーヒー、軽食が食べれたりも。ネイルをしてくれる場所なんかもありました。 また、各ブースに参加しやすいようにDroidKaigi側でのスタンプラリーを実施していたのがGoodでした。 スタンプラリーである一定の数まで押してもらうと豪華なノベルティもGetできて、各ブースの内容も聞けて良かったです。 ヤプリもプラチナスポンサーで参加しており、実際のプロダクトのデモを行ったりしていました。

1日目の終わりにはアフターパーティーも実施され、かなり豪華な食事を楽しみながらDroidKaigiに初めて参加した方やブースにいたスポンサーの人達と話もでき、エンジニアの方との交流ができました。(お寿司が人気でかなり早い段階で売り切れてました)

Day1,Day2で参加したセッション

資料が見つけられなかったものはDroidKaigiの紹介ページをリンクしてます。

Day1

Modifier.Nodeを使いましょう

Modifier.composedを使っている場合の問題点、今後はModifire.Nodeを使いましょうという内容。実際の移行するパターンなども掲載されており今後利用していく場合の参考になりそうでした。

speakerdeck.com

よく見るあのUIをJetpackComposeで実装する方法○選 -> 発表時に9選になってました

実際のUIがどうあるべきかといった観点をまとめつつ、各UIをどう作るかをまとめていただいていた。分かりやすかったです。クレジットカードのUIとか意外と複雑そうで作る時は注意だなとも感じました。

docs.google.com

(Unofficial) Guide to Architecture Guide Vol.2

去年はレイヤー層ごとの解説。今回はアーキテクチャの適応に関する向き合い方や各会社ごとでうまく適応しているユースケースなど。あとはDaggerの特徴やHiltの良くないポイントだったり。他にもモジュールを分ける時のアンチパターンなどなど。色々と設計に関してどうしておくべきなのかの視点でまとめられてました。私もDaggerHiltとモジュール化に関しては雰囲気で理解してる感じの部分あるなーと感じたのでまた改めて勉強しようと思いました。

2023.droidkaigi.jp

モニタリングでパフォーマンス改善入門

パフォーマンスを分析するに当たって、どういったツールが利用できるのかツールごとの機能説明や使い方も説明されていてどういった時のどのツールを使うべきかがとても分かりやすかったです。実際に実施時にも参考にできそうでした。

docs.google.com

Master of NestedScroll

ネストスクロールの問題についてのまとめ。どの場合に親にスクロールが伝搬されているかの説明や、機能ごとに伝搬がどうなっているかの説明がありました。また、よくありそうなJetpackComposeとAndroidViewとの組み合わせパターンだった場合にどう実装しておくかもまとまっていて良かったです。

speakerdeck.com

Day2

Kotlin ハイパフォーマンスプログラミング

Kotlinでどうしたらパフォーマンスを向上できるかのまとめ。Kotlinの書き方でどうしたらパフォーマンスが低下するかがまとめまれていて、パフォーマンスに大きな影響が出るような機能が出てきた場合に参考になりそうな内容でした。

speakerdeck.com

共有

Androidの共有する方法についてのまとめ。Googleとしてはカスタムの共有シートはやめてほしいそうです。なるべく標準のやつ使いましょうとのことでした。Android14からはカスタムアクションで任意のアクションを追加できるようになったので自由度上がっているので独自のUIを使っている方は検討してみても良いかもしれないです。

2023.droidkaigi.jp

Androidアプリの良いユニットテストを考える

ユニットテストをするにあたってどういった原則でテストを書いておくべきかだったり、テスト時に利用するメソッドついての解説もありました。各メソッドを利用した際に注意点などもまとめてくれていて、テストを書く際に参考になりそうです。

speakerdeck.com

Jetpack ComposeでAndroid/iOSアプリを作る

タイトルでJetpack Composeと記載がありましたが、実際はAndroidとiOSでちょっと違うようでComposeで作るが正しいようです。iOS側のComposeがAlpha版ということで私も気になっていたので実際どうやってアプリを作っていくかの手順と起動するまでに引っ掛かったポイントなどがまとめられていて、こちらのスライドをベースに見ながらやるとひとまずはアプリをビルドするところまではいけそうでした。また時間がある時に試してみたいなと思う内容でした。

speakerdeck.com

突撃!隣のコードレビュー

実際に行なっているコードレビューの内容とやっていての課題や改善策みたいなのが3チーム分まとめられていました。レビューアーの偏りとか時間が取れないなどやはり悩むポイントは結構似通ったりするのだなと思いました。課題を埋めるためにレビュワー、レビュイー観点でどういったことを心掛けているのかなどがまとめられていて参考になりました。

speakerdeck.com

Material3やめました

去年はJetpack ComposeでMaterial3という題材で発表されていて、今年はやめましたという内容でした。やってみたものの辛かったポイントなどの解説。やめた上でどうやってテーマ周りをまとめたのかというお話し。現状そこまで利用できていない部分はありつつ今後適応する時には参考になりそうな内容でした。

speakerdeck.com

他に見たかったセッション
Day1
  • これで安心! Compose 時代のDon't keep activies対応
  • Gradle Convention Plugins
  • Unleashing the Power of AllEvents
  • 通知許諾率向上のアプローチ
  • iOSとAndroidで定期購入の意図しない解約を防ぐ
  • Jetpack GlanceではじめるMaterial3のColor
Day2
  • ビジネス向けアプリを開発するときに知っておくべきAndroidEnterPriseの世界
  • Composeの Text Field を理解する
  • MVIに基づくStateMachineアーキテクチャ:KMMとJetpack ChromeのとSwitUIを組み合わせる
  • Androidの「音」を制御する
  • パフォーマンス管理ツールの活用:Firebase Performance MonitoringとMacrobenchmarkを駆使して Jetpack Composeを導入するまで
  • Jetpack Composeを活用した強力なUI表現の実装実例
  • ここ数年のAndroid Textの新(?)機能について/ What's new(?) in Android Text
  • 様々なユースケースに利用できる"パスキー"の導入事例の紹介とUXの課題解説
  • 中規模アプリにおけるレイヤーどアーキテクチャでの例外との向き合い方
  • Jetpack ComposeのSide-effectを使いこなす
  • できる!アクセシビリティ向上

Day3

最終日はコードラボをしつつ、会場でのトークセッションを聴いたり、有名なエンジニアの方々とのキャリア相談ができたりと1日目、2日目とはちょっと違った形でした。 トークセッションではエンジニアのキャリアについての話がメインで行われていて、印象的だったのはほとんどのエンジニアの人が目標を設定してそれに向かってやっている人よりも結構成り行きで決めてる方が多かったことです。 ただそれでもいいんだなっていう風に思えましたし、その時の心持ちみたいなことも聞けたりしたので大変ためになる話が聞けたと感じました。 また、コードラボをしながらという感じでしたが、半分くらいはその場にいたエンジニアの方とお話ししたりとかしつつだったので気分転換しながらエンジニアの方とコミュニケーションも取れたのが良かったです。 DroidKaigiのアプリの機能でNFCを使った機能があり、読み取るとアーカイブが貰えて5つ集めるとDroidKaigiのアイシングクッキーなんかも貰えました。これもまた可愛い。

写真を撮り忘れてしまったので、公式のXの投稿をつけときます

まとめ

オフラインで参加したのがかなり久しぶりだったのですが、改めてAndroidエンジニアの方々がたくさんいるなということとDroidKaigiの熱量の凄さを感じました。運営の方々が色々と準備いただいたことで心地よくイベントに参加できたなとしみじみ思います。ありがとうございました! セッションの内容もJetpack Composeや設計に関する内容、ニッチな機能の部分まで様々でした。まだまだ見たい内容がたくさんあるので、後日配信された時に少しづつ見ていきたいと思います。 今回初めて3日目に参加してみたのですが、有名なエンジニアの方々のトークセッションで色々気づきを貰えたりコードラボをやりつつエンジニアの方と話をしたりがとても楽しかったです。お話ししていただいた方々ありがとうございました! 来年の開催が今から楽しみです。