💪

DroidKaigi2025のカンファレンスアプリを改善するIssueを106件作成しました(約一ヶ月間継続貢献)

に公開

初めに

  • フリーランスのAndroid開発者とだやま.Rです

  • 本日(09/10)はDroidKaigi2025のWorkshopDayですが、いかがお過ごしでしょうか。

  • 自分は例年通り明日明後日参加します。

  • 毎年恒例となりましたが、今回も開催約1ヶ月前に公開されたカンファレンスアプリのプロジェクトへ継続してコントリビュートした結果と、得られた知見について紹介します。

    • 今年は例年と異なり、リポジトリの公開日がカンファレンス開催1ヶ月前ではなく24日前の08/17のため、コントリビュート可能な期間が一週間短い中での貢献となりました。
  • 去年の記事については以下をご覧ください


  • 今年の目標は以下の通りでした

    • DroidKaigi開催まで継続して貢献する(PRは一つ以上必ず毎日作成する)
    • 意味の有るIssueを100個以上作る
  • 両方とも無事達成することができました

    1. 毎日貢献達成
    2. 最終的に無効を除いて106件作成
  • 以下は貢献数の比較と今回新しく貢献できたこと等になります

前回との貢献の比較

  • 今年は例年に比べて貢献可能期間が一週間短かったので数値としては全体的にマイナスですが、健闘した方だと思います。

PR作成数(マージされたもののみ)

2024 2025
107件 43件
  • 前年比: 40.19%

コミット数

2024 2025
342件 207件
  • 前年比: 60.53%

Issue作成数

2024 2025
20件 106件
  • 前年比: 530%
    • 元々Issue自体がリポジトリ公開時点で非常に少なく、不足していました。

Issue消化数

2024 2025
43件(内HighPriority:21件) 39件(内HighPriority:1件)
  • 前年比: 90.70%
    • HighPriorityについては全体的にタグの運用が余り細かくされておらず、付与数自体が少ないです。

awesomeタグ付与数

2024 2025
6件 1件
  • 前年比: 16.67%
    • そもそも今年は全体付与数が自分のものを含めて4件しかありません。

今回新しく出来た・学べたこと(一部抜粋)

Compose Multiplatform for Desktop (旧称 JetBrains Compose Desktop)

Metro・Soil・Navigation3

  • 普段のAndroid開発だとDIはDagger Hilt(またはDagger2)一択なので、Metroについてはカンファレンスアプリを通じて初めて接しました。
  • DI以外にもData Layerにはリポジトリが存在する構成が普段は一般的なので、Soilを使ってAndroid側はリポジトリを使用しない構成は新鮮でした。
  • Navigationについても3はまだ実務で触れたことが無いので実際のコードを触ったのはカンファレンスアプリが初めてでした。
  • 設定画面の実装を行うタスクはMetro・Soil・Nav3を学ぶのに丁度良いタスクでした。
  • JVMで一部画面のナビゲーションに不具合があり、その対応をしましたが、余りにもワークアラウンドすぎました。
  • この問題の根本原因はJVMターゲットにおいてNavEntryDecoratorが一部利用出来ないことでした。
    • NavEntryDecoratorについては、カンファレンスアプリのスタッフをされているmikanさんのLTスライドをkitakkunさんのPRを見る際に参考にしました。
  • しかしNav3に不慣れな為、NavEntryDecoratorの不足が原因という観点が無く、カンファレンスアプリのリードを担当されているkitakkunさんが対応するPRを出したことで根本原因に気付くことが出来ました。

iOSのopenURLメソッドについて

  • 去年まで動作したopenURLメソッドが今年は動かなかったので修正したPR
  • 去年の段階で元のコードのシグネチャのopenURLメソッドはDeprecatedになっていました。
  • しかし動作していたので問題にはなっていませんでした。(Android Studio上でも特にDeprecated表記にもならないのでドキュメントを見に行かないと気付かない状態)
  • iOS 18からDeprecatedメソッドなど非推奨コードが実行された場合 BUG IN CLIENT OF UIKIT…Force returning false がランタイムでログ出力されメソッド実行されないように変わったようです。
    • 公式の情報を探しましたが、この部分についてはこの変更が入ったことを示す公式情報へ辿り着けませんでした。

iPadOSでのシェア機能について(マルチシーン・ポップオーバーアンカーの概念)

Compose Animation(Not AnimatedVectorDrawable)

最後に

  • 今年はプロジェクトのリードがtakahiromさんからkitakkunさんへ代わり、色々と体制に変化が有ったと思います。
  • 慣れない中体調を崩しつつも尽力いただき感謝しています。
    • mikanさんとkuwaさんについても日々の業務の合間にレビューなど対応頂きありがとうございました。
  • 今年も短い期間で多くの事柄を学ぶことが出来ました。

Discussion