こんにちは。with で Android エンジニアをしている 石田(@maxfie1d) です。 先日の 2022 年 10 月 5 日〜2022 年 10 月 6 日の 2 日間 DroidKaigi 2022 に参加しましたので参加レポートをお届けしたいと思います。
DroidKaigi 2022 とは
DroidKaigi はエンジニアが主役の Android カンファレンスで、2015 年から毎年開催されています。2022 年はオフライン/オンラインで開催されました。
入場してさっそく 「Welcome talk」 が始まりました。その中で DroidKaigi の公式アプリのコントリビューターが映し出されたのですが、私も載っていました。嬉しい...! そして600人超のオフライン参加者がいるということでとても驚きました(Android エンジニアは市場でも少ないと言われているので)。
スポンサーブースの様子
DroidKaigi ではセッションに加えて スポンサー企業様のブースがあり様々な展示、企画、ディスカッションを楽しむことができます。ノベルティも素敵なものばかり。スタンプラリーのスタンプを押してもらいながら全てのブースを楽しく回らせていただきました!
スポンサーブース大変賑わっております!混雑しているため移動の際はお気をつけて下さい#DroidKaigi pic.twitter.com/2Wi7Q0ziT7
— DroidKaigi (@DroidKaigi) 2022年10月5日
1 日目
印象に残ったセッションや DroidKaigi 中に頂いたランチを紹介したいと思います。
Jetpack Compose で Material Design 3 (Yuki Anzai)
Material 3 で導入された新しい概念や Material 2 からの実践的な移行手順等についてのセッションでした。
規模の小さなアプリであれば一括で Material 3 に移行することも可能だが、規模の大きなアプリ(with も含まれる)の場合はコンポーネント単位で移行するのがよいと紹介されていました。Material 2 → Material 3 の移行は大変骨が折れる作業になる予感がしていますが、しっかりと時間を確保して取り組みたいと思います。
Material 3 は Material 2 よりも実用的になった一方で、Deisgn tokens といった新規の概念が沢山あるので同時に理解度を上げていきたいと思います。
本セッションの翌日には androidx.compose.material3:material3
の 1.0.0-rc01
が出たので Material 3 もいよいよだなという感じがしています。
今回の資料ですhttps://t.co/x0Isyqh52j#DroidKaigi
— Yuki Anzai (@yanzm) 2022年10月5日
ランチ
会場近くのお店で石焼ビビンバをいただきました!
Context Receivers に思いを馳せる (uzzu)
Kotlin 1.6.20 にプロトタイプで登場した context receivers についてのセッションでした。
Kotlin が context receivers にたどり着くまでの歴史的経緯や、Android 開発におけるユースケースなどが詳しく紹介されました。登壇者の指摘の通り、context receivers は 堅実な言語仕様を保ってきた Kotlin にしては非常に自由度が高く乱用ができてしまうなといった印象で、この先安定版としてどのような形に落ち着くのか非常に興味が湧きました。
Context receivers を プロダクト開発で使える日が楽しみです。
Context Receivers の登壇資料です!ありがとうございましたー https://t.co/MDEPMpQZ77 #DroidKaigi
— uzzu (@uzzu) 2022年10月5日
2 日目
プロダクトで安全に DataStore 移行する (Go Takahana)
SharedPreferences を DataStore に移行する実践的な方法についてのセッションでした。
SharedPreferences との違いや、移行時のハマりポイントなど非常に網羅的で納得感のある解説でした。DataStore へ移行するとデータアクセス部分のシグネチャが変わるため変更箇所が大きくなりがちです。また DataStore へのマイグレーションが実行されると SharedPreferences のオリジナルのデータが削除されるという仕様には注意が必要です。登壇者の提案通り 「1. 一度に全てのキーを移行せず少しずつ移行する」「2. 切り戻しリスクの低いリリースで移行する」 の 2 点がポイントになると感じました。
Day 2 12:10~「プロダクトで安全にDataStore移行する」というタイトルで発表します!
— Go (@go_takahana) 2022年10月6日
よろしくお願いします!https://t.co/9dFeEJ2iWU
#DroidKaigi
ランチ
2 日目は会社で用事があったため、会場を一時的に離れ恵比寿で握り寿司をいただきました。
Deep dive into Jetpack Compose Text (Seigo Nonaka)
Android の Text についてのセッションでした。
Text は最も基本的な UI の 1 つですが、その実装は奥深いものです。Compose の Text で今後追加される API の紹介があったのですが、今後も TextView にない機能が続々と追加されるのだろうなと思いました。 ちなみに、従来の TextView と Compose の Text において Layout から下の実装は共通のものが使われているそうです。
おわりに
初めてのオフラインでの DroidKaigi 参加だったのですが、広い会場、たくさんのスポンサーブース、かっこい登壇者の方々...。とても感動しました。2 日目には Meetup(DroidKaigi 参加者同士の交流の場)に参加させてもらったのですが、Android エンジニア同士で有意義な意見交換をすることができ 2 時間があっという間に感じました。
来年の DroidKaigi にはぜひ登壇者として参加したいなと思っています!