Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

DroidKaigi 2023 に参加してきました

こんにちは。Android アプリ開発担当の nagayama(@nagayan_dev)です。
2023 年 9 月 14 日 〜 16 日にかけて行われた、 DroidKaigi 2023 に参加してきました。 今回はその内容を簡単にご紹介したいと思います。

DroidKaigi 2023

DroidKaigi とは、 Android の技術の共有とコミュニケーションを目的としたカンファレンスになります。 2023.droidkaigi.jp

今回で 9 回目の開催となります。

会場は渋谷ガーデンタワーで、昨年よりも大きな会場での開催となりました。 セッション会場は 5 つで、14 日・ 15 日合わせて 46 のセッションが行われました。 昨年までは 25 分又は 40 分のセッションとなっていましたが、今年は全て 40 分で行われていました。 これにより一つ一つのセッションがより深く分かりやすくなった印象でした。

参加者はオフライン参加者だけで 1000 人以上の規模となり、昨年の 600 人を大きく超えており、その勢いが感じられました。

またセッション以外にもイベントが用意されており、私は今年もスタンプラリーに参加をしてきました。 スタンプラリーは協賛企業の展示ブースを回ってスタンプをもらうことで、その個数に応じて景品がもらえるというものになります。昨年いただいたタンブラーがボロボロになってしまったため、新しいタンブラーをゲットしました。昨年のものよりもより大きいサイズになっており、たくさんコーヒーを入れられるようになって大満足です。

聞いたセッションのご紹介

私が聞いたセッションの中の一部をご紹介します。

① Push 通知許諾率向上へのアプローチ

Push 通知許諾率を改善させた施策の内容について話されていました。 Push 通知を受け取ってもらうのは、プロダクト運営上とても大切なものです。受け取ってもらうようにするため、「Push通知が OFF にされない工夫」と「Push 通知を ON にしてもらう工夫」の 2 つのアプローチをしていました。あえて速報以外の通知チャンネルの重要度の設定を下げて通知音が出ない通知を作ることで、煩わしさを減らし、かつ速報通知が目立つことで開いてくれやすくなるのは目から鱗でした。弊社でも Push 通知許諾率は重要な課題であるため、本セッションを参考に私たちも改善に取り組みたいと思いました。

発表された資料はこちらになります。
speakerdeck.com

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

公式のアプリパフォーマンスガイドを元に、Android アプリパフォーマンス改善の手法を紹介されていました。PassiveTest ・ ManualTest ・ AutomatedTest の 3 つの観点での手法を紹介していました。基本的な用語や画面の見方、手順方法まで詳細に説明されており、初学者も安心してできる内容であったと思います。中でも AutomatedTest で紹介された Macrobenchmark は、自動で対象の処理速度を測定してくれるもので、普段から導入しておくと異常状態になった時に検知できる優れものであったため、こちらはすぐにでも担当しているアプリ開発のフローに取り組みたいと思いました。

発表された資料はこちらになります。
docs.google.com

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

「JVM 言語は遅い」という漠然とした印象が広がっていますが、最適化した Kotlin はネイティブに負けず劣らずのパフォーマンスを出すことができます。「処理速度の遅いメモリ上で多くの処理をしていないか。」「便利な Kolint の記法に甘んじてそれによって処理が多くなっていないか。」「可変長引数を安易に使っていないか。」等、 Android 開発者ならハッと気づく指摘が多々ありました。ただしこの「最適化」も限度はあり、メンテナンス性を下げるのは得策ではないといいます。通常は便利な記法は積極的に使い、大量・高頻度に使用される箇所に限定して適用することが良いと言っていました。私も最適化の箇所を考慮しつつ、パフォーマンスの積極的な測定と改善を行っていきたいと思いました。

発表された資料はこちらになります。
speakerdeck.com

④ Material3 やめました

Material3 は 2021 年に登場した新しいデザインガイドラインです。アプリの移行がどんどん進んではいるものの、 Material3 のデザインシステムと実際の開発とで問題が発生したため、Material3 の一部デザインシステムを辞めた話になります。 Material3 は 1 つの色を選択することで、アプリで使用する 29 の色が決定される仕組みになっています。しかし指定した色と決定された色とで若干の色の違いが発生したり、またその色をカスタマイズすると他の 28 色に影響が出たりと、「色」に関して様々な問題が発生しました。発表者はその Material3 の色のシステムを辞め、独自のシステムを導入しました。これによって望んだ色の指定ができるようになりましたが、component の色指定に工夫が必要であるため、ちょっと手間は発生するとのことです。

発表された資料はこちらになります。
speakerdeck.com

まとめ

今年も DroidKaigi2023 に参加しました。普段の業務ではなかなか目を向けられないパフォーマンス改善や他社の施策の取り組みは、とても刺激を受けるものでした。すぐにでも担当プロダクトに取り込みたい、新しく挑戦したいと、Android 開発に対する強い熱意が体の中から湧き上がってきています。セッションの発表者の方々、そして毎年このような素晴らしい催しを開催してくださる DroidKaigi スタッフの皆様に厚くお礼を申し上げます。 来年もまた行きたい!