こんにちは。 Android アプリエンジニアの長堀です。
9月11日 (水) から 13日 (金) の3日間にかけて DroidKaigi 2024 が開催されました。弊社からもモバイルアプリエンジニアが複数名参加したので、今回は参加レポートを書いていきたいと思います。
当日の思い出
今回は10周年ということでいくつか新たな試みが行われていました。たとえば、協賛エリアではプリクラブースが設置されていたり、カフェスペースでは暑さ対策としてアイスクリームが用意されていたりしました。当日は大変厳しい暑さで、渋谷駅から会場に着くまでに汗だくになるほどだったので、アイスクリームには非常に助けられました。
また、昨年はセッションを聞いているかブースにいるかだったり所用があってアフターパーティに参加できなかったりであまり交流の時間が取れなかったのですが、今年はうまく時間を作ることができたので、協賛ブースをゆっくり回ったり以前の同僚と近況の話をしたりと多くの人との交流をすることができました。このとき X (旧 Twitter) のアカウントを交換するのに DroidKaigi 公式アプリの Profile Card 機能が役に立って、「DroidKaigi やってる感」があって良かったです (?)
今年も各セッションルームは Android Studio のコードネームで名付けされており、出入り口には可愛いイラストが掲示されていました。5部屋あったうちの3部屋分しか写真がないのは単純に撮り忘れたからです。
2日目の Welcome Talk では DroidKaigi 2024 公式アプリ と、その contributor のみなさんの紹介がありました。弊社からも松川、平池、長堀の3名が contribute しました。私 (長堀) 個人としては今回は1個しか pull request を送れなかったのが少し心残りに感じているので、来年はもっと色々やれたらと思います。
前回の記事でもお伝えしたとおり、アンドパッドは今回ゴールドスポンサーとして協賛し、ブース出展を行いました。当日はたくさんの方にお越しいただき、弊社プロダクトの紹介をはじめ様々なお話をさせていただくことができました。足を運んでくださった皆様、まことにありがとうございました。
また、ブースで実施していたアンケートの結果は参加レポート第二弾として記事化する予定です。お楽しみに。
印象に残ったセッション
Conference Day に参加した弊社メンバーに、特に印象に残ったセッションの感想を書いてもらったので、こちらで紹介したいと思います。
仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう
Compose の普及によってアプリを起動せずに Compose のプレビュー関数を利用して、各画面やコンポーネントをエミュレーターを使わずに描画できるようになりました。 そして、 Compose 関数を書く際にプレビュー関数も併せて書くことが多いので、 Compose のプレビュー関数のストックがすでにあるはずです。
このセッションでは、 Compose のプレビュー関数を収集する方法とその関数によって描画された画面のスクリーンショットを撮る方法について紹介されていました。 スクリーンショットを撮るだけではなく、ダークモードや画面サイズなど、パラメーターを変更しながら VRT を実施する方法についても解説されていました。 弊社アプリの実装でも Compose を利用しているので、セッションに紹介されたツールや情報を活用してVRTを導入を進めたいと思います。
(Paras)
Bridging the Gap: Understanding Method Channels for Flutter and Native Communication
Flutter の MethodChannel
を解説していたセッションで、 Flutter と Android / iOS ネイティブのデータや制御の流れを知ることができました。社内でも実際に使用していますが、ここまで深堀りをしたことがなかったのでおもしろかったです。
(髙木)
Road to Single Activity
元々かなり複雑な画面構成・遷移の要件を持っていたアプリを、一つの Activity, 一つの Navigation Graph にまとめ上げるという大掛かりなマイグレーションを成し遂げた中で得られた知見満載のセッションでした。
それぞれの遷移要件に対し、何が Navigation の機能で達成でき、何が独自の実装を add-on する形で実現する必要があるか、という Navigation Graph の構築に関するものや、既存・過渡期の遷移実装から、安全かつ他の機能開発を止めずに移行する方法など、 full compose 化を進めている弊社でも今後直面するであろう課題に対する具体的な方針が示されており、大変参考になる内容でした。
(長堀)
デザインからアプリ実装まで一貫したデザインシステムを構築するベストプラクティス
Figma の Dev モードを活用してデザイン通りの実装を共通化する方法や、デザイントークン追加時の実装漏れを防ぐ方法などを知ることができて、弊社での実務でも活用していきたいと思いました。
(平池)
RAG (Retrieval Augmented Generation) with Mobile Application
モバイルアプリにLLMを組み込むために必要な技術やプロセスを説明したセッションで、プロンプトエンジニアリングやローカルLLMを実現する際に必要なハードスペック、現状のエコシステムなどを広く知ることができました。 今まではクライアント目線では API からリクエストするもの、くらいの感覚だったので、Lv1からLv2くらいには解像度が上がったと感じています。
将来的にサービスにおけるLLMの運用でインフラ費が上がると予想しているので、それをローカルLLMの実現でサポートできるようになるといいなと思っています。
(工藤)
まとめ
今年も様々な学びを得ることができ、刺激に満ち溢れた時間を過ごすことができました。 DroidKaigi 運営スタッフのみなさま本当にありがとうございました。
また来年も DroidKaigi で集まれることを楽しみにしています。
アンドパッドでは DroidKaigi 2024 を楽しみ、そして刺激を受けてやっていくぞ、となった Android エンジニアの方を絶賛募集中です。 カジュアル面談などでぜひ思い出を語らいましょう!