DroidKaigi 2024 参加レポート 10周年を迎え⁠さらなる進化を遂げたAndroidの祭典〜

9月11日から9月13日にかけて開催したDroidKaigi 2024。1,150人の参加申し込みや49セッションの登壇があり、多くの人で賑わいました。この記事では、その模様をレポートします。

Workshop Day(9月11日)

Workshop Dayでは、JetBrains s.r.o.のSebastian Aignerさんを講師に迎え、From 0 to 100 with Kotlin and Compose MultiplatformというタイトルでKotlin Multiplatform(以下KMP)とCompose Multiplatform(以下CMP)について学ぶワークショップを開催しました。

会場はほぼ満員となり、参加者は熱心にワークショップに取り組んでいました。英語でのワークショップでしたが、スタッフのサポートや参加者同士の教え合いもあり、活気あふれる学びの場となりました。

コスト削減、開発速度・メンテナンス性の向上などを目的として、複数のプラットフォームでアプリを展開している企業やチームが、マルチプラットフォームアプリ開発に取り組むことが増えています。

React NativeやFlutterなど、様々なマルチプラットフォームアプリ開発のフレームワークがありますが、その中でもKMPはAndroidアプリ開発者に馴染み深いKotlinで開発できることに加え、異なるプラットフォーム間でコードを共有する際に、通信部分、ビジネスロジック、UIロジックの一部など、どのレイヤーまで共有するかを柔軟に選択できるため、近年注目が高まっています。

CMPもAndroidアプリ開発でデファクトスタンダードになりつつあるComposeを使って複数のプラットフォーム向けアプリのUIを開発できるということで注目されています。

著者自身もKMPやCMPをマルチプラットフォームアプリ開発の手法として学びたいと感じていたため、今回のワークショップは非常に有益なものでした。

Conference Day(9月12日⁠13日)

Conference Dayでは、スピーカーによるセッションを始め、協賛企業のブース出展、ミートアップ、スタンプラリーなど、今年も様々な企画が盛りだくさんでした。

ウェルカムトーク

DroidKaigi代表のmhidakaさんやCo-Organaizerより、参加者への挨拶とDroidKaigi 2024の案内が行われました。

会場は満員となり、一部の参加者は立ち見となるほどでした。

多くの参加者がこの日を待ち望んでいたことが見て取れ、10周年を迎えたDroidKaigiの幕開けを参加者と祝いました。

セッション

DroidKaigiの目玉コンテンツの一つであるセッション登壇は、DroidKaigi 2024でも大きな盛り上がりを見せました。最大5セッションが同時間帯に並行して行われるため、参加者はどのセッションを見るか悩むという嬉しい悲鳴が上がっていました。

今年はリアルタイムでのYouTube配信こそありませんでしたが、セッション終了後すぐに公式YouTubeチャンネルで動画を公開するという新たな試みが行われました。これにより、参加者はもちろん、会場に来られなかった方々も、興味のあるセッションをすぐに視聴できるようになりました。

本レポートでは2本のセッションと1本の招待講演をピックアップして紹介します。

ここで紹介するセッション以外にも、多種多様なテーマのセッションの発表がありましたので、ぜひ公式YouTubeチャンネルでご覧ください。

Essential concepts to know when learning Declarative UI

HyunWoo LeeさんによるセッションEssential concepts to know when learning Declarative UIでは、Androidアプリ開発を含む様々なプラットフォームで主流になりつつある宣言的UIについて、その学習に必要な知識や概念を複数のフレームワークを比較しながら解説しています。

Jetpack Compose、React、SwiftUIといった具体的なフレームワークを例に挙げ、それぞれの特徴を通して宣言的UIの本質を浮かび上がらせた本セッションは、これから宣言的UIを学ぶ開発者にとって非常に有益だと感じました。

特に印象的だった点は、命令的UIと宣言的UIを「HOW(どのように⁠⁠」と「WHAT(何を⁠⁠」という言葉で対比していた点です。UI構築のアプローチを「どのように実装するか」ではなく「どのような状態にしたいか」を記述するという視点の違いを明確にすることで、それぞれのUIパラダイムの理解が深まります。

さらに、セッションではUI表示のみに留まらず、副作用(SideEffect)の扱い、UIコンポーネント間の状態共有、アプリ全体の状態管理設計といった、より実践的な内容にも踏み込んでいます。

Android 15と日本語

Seigo NonakaさんによるセッションAndroid 15と日本語では、Androidにおける日本語処理の仕組みや、Android 15で導入されるテキスト関連の変更点について解説しています。

セッションでは、Androidスマートフォン向けアプリ開発で頻繁に登場するLocaleとは何か、システムがそれをどう解釈し、ユーザー体験にどう影響するのかについて説明しています。それらを通して「Localeの重要性」を繰り返し強調しています。

特に印象的だった点は、Android 15(API Level 35+)から、設定しているLocaleの値によって、空文字状態のテキストUIコンポーネントの高さも変わるという点です。

従来、テキストUIコンポーネントのデフォルトの高さはラテン文字の高さに固定されていましたが、日本語など他の言語を入力すると、言語間の高さの不一致が生じ、アプリ実行中にテキストUIコンポーネントの高さが動的に調整されていました。

この文字入力時の高さ変動はユーザーにとって違和感があるため、API Level 35+ではuseLocalePreferredLineHeightForMinimumというAPIが追加されます。このAPIにより、Localeに応じてデフォルトの高さが設定されるようになるため、多言語対応アプリにとっては特に大きな影響がある変更といえるでしょう。

Increasing coding productivity with Gemini in Android Studio

Adarsh FernandoさんとChris Sincoさんによる招待講演Increasing coding productivity with Gemini in Android Studioでは、Android Studio Koalaから標準搭載のAIコーディングサポート機能のGeminiについて、デモ動画を交えながらその詳細な機能と活用方法を解説しています。

Gemini in Android Studioには数多くのAI機能が搭載されており、このセッションだけでも10個もの機能紹介がありました。中でも特に印象的だった機能は「Custom Code Transformation」⁠Rethink variable」⁠Generate unit test scenario」の3つです。

Custom Code Transformationは、選択したコードに対してGeminiに指示を出すことで、改善したコード案を生成する機能です。単に候補を生成するだけでなく、生成コードと既存コードの比較、さらなる指示によるコードの微調整も可能なようです。この機能は、コードのリファクタリングや不具合修正時に特に役立ちそうです。

Rethink variableは、選択したメソッド名や変数名に対して、より適切な代替案を提案してくれる機能です。コード作成中に適切な命名に悩むことがよくありますが、この機能を使えば、違和感を感じた名前をすぐに改善し、コードの可読性を高めることができます。

Generate unit test scenarioは、単体テストのシナリオ名を自動生成する機能です。プロダクト開発において、単体テストの網羅性やエッジケースへの対応は常に課題となりますが、この機能を活用することで、網羅的なテストシナリオの作成を支援し、テストカバレッジの向上に貢献します。さらに、Code Completion機能でテストシナリオに基づいたコードを生成することで、単体テストコードを効率的に作成できることも期待できます。

当日企画

DroidKaigi 2024ではセッション以外の企画も実施されました。

プリントシール機

今回、プリントシール機を導入しました。DroidKaigiオリジナル背景で参加者同士の思い出を形に残せる、体験としても記念品としても楽しめる企画でした。

著者自身にとってもプリントシール機での撮影は人生で初めての経験で、DroidKaigiで友達と撮影したという事実はもちろんのこと、撮影するまでの過程も強く記憶に残っています。

ミートアップ

今年もミートアップを開催しました。特定のテーマについて語り合えるミートアップでは、今年も様々なテーマがあり、参加者たちは交流を深めました。

特に初学者向けのテーマでは、スカラーシッププログラム対象の学生も参加し、より多様な交流が実現しました。

パネルトーク

パネルトークでは、パネリストの方々を招いて、Androidエンジニアとしてのキャリアやスキルアップに関する悩みの解決を目指しました。

事前に用意したお題だけでなく、参加者からの質問にも答え、様々な悩みを解消する場となりました。

その他の当日企画

これまでのDroidKaigiでも好評だった、バリスタによるコーヒー提供やスタンプラリー、ネイル体験といった当日企画も引き続き実施しました。新メニューを追加したりDroidKaigiオリジナルお菓子を用意したりと進化していました。

また、After Partyで提供したコーヒー豆を利用したオリジナルビールも参加者から好評でした。

まとめ

DroidKaigi 2024のWorkshop DayとConference Dayの模様をレポートしました。

進化し続けるAndroidとともに、DroidKaigiも回を重ねるごとに新たな企画や参加者体験の向上に取り組み、進化を続けています。今後のDroidKaigiにもぜひご期待ください。

なお、本レポートでは紹介しきれなかったセッションも、どれも素晴らしい内容ばかりです。各セッションの動画や資料URLはDroidKaigi公式サイトにまとめられていますので、ぜひ多種多様なセッションを自己学習や仲間とのコミュニケーションなどに活用し、楽しんでください。

DroidKaigiでは今後も様々なイベントや企画を予定しています。ぜひDroidKaigi公式XアカウントYouTubeアカウントをフォローして、最新情報をお待ちください!

おすすめ記事

記事・ニュース一覧