👨💻
DroidKaigi2024のカンファレンスアプリに107個のPRがマージされました(一ヶ月間継続貢献)
初めに
-
フリーランスのAndroid開発者とだやま.Rです
-
いよいよ明日9/11から9/13迄の三日間DroidKaigi2024が開催されます
-
今回も開催一ヶ月前に公開されたカンファレンスアプリのプロジェクトへ一ヶ月継続してコントリビュートした結果と得られた知見について紹介いたします
-
去年の記事については以下をご覧ください
-
今年の目標は以下の通りでした
- DroidKaigi開催まで継続して貢献する(PRは一つ以上必ず毎日作成する)
- PRのマージ数を開催前日までに100以上にする
-
両方とも無事達成することができました
-
以下は貢献数の比較と今回新しく貢献できたこと等になります
前回との貢献の比較
PR作成数(マージされたもののみ)
2023 | 2024 |
---|---|
55件 | 107件 |
- 前年比: 194.55%
コミット数
2023 | 2024 |
---|---|
229件 | 342件 |
- 前年比: 149.34%
Issue消化数
2023 | 2024 |
---|---|
25件(内HighPriority:5件) | 43件(内HighPriority:21件) |
- 前年比: 172%
awesomeタグ付与数
2023 | 2024 |
---|---|
4件 | 6件 |
- 前年比: 150%
今回新しく出来た・学べたこと(一部抜粋)
Compose Multiplatform
- 2023年のカンファレンスアプリではコントリビューター画面にのみCompose Multiplatformが使用されていました
- 今年は大規模にCompose Multiplatformが採用されておりiOS側から完全にCompose Multiplatform UIへ切り替える導線が用意されています
- 自分にとってもCompose Multiplatformの知見は少ないためここへ中心的に貢献すれば得られるものは大きいと判断しました
- 恐らくXcodeを使用することとiPhoneのシミュレーターでの動作確認が必須なことからこの部分への貢献は極端に限られたものになっていました
- そこでDroidKaigi開催日までに動作するよう欠けている処理を追加していきました
- ナビゲーションとFling Scrollが正常に動作しない問題が長期に渡り解決できずtakahiromさんと共に問題解決に勤しみ開催数日前にようやく解決することができました
- Compose Multiplatformはまだ不安定・未完成な部分が多く現段階でプロダクションコードで使うのは難しいかもしれません
- 導入前にYouTrackやリリースノートへ必ず目を通しどのような未解決問題があるのかを把握しておく必要があるでしょう
加速度・地磁気センサーを使った実装
- 先に別のPRによって端末の傾きを検知可能になっていました
- 輝くだけでなくカードのUIも連動して傾くようにしたいという思いが有りPRを出してみました
- カードを傾かせるまではドキュメントを見ながら自力で実装ができました
- しかしVRTを実装する部分で躓きtakahiromさんに助けてもらいようやくVRTも実装できました
- この実装を通じてAndroidとiOSとで座標系が異なりピッチの値を反転させなければならないことも学習できたため学びは大きかったと思います
Android StudioからCompose Multiplatformのコードをデバッグ実行する
- Kotlin Multiplatform Pluginのページでは紹介ビデオにてデバッグ実行がデフォルトで実行可能になっています
- しかし実際はそのようになっておらずプラグインをインストールするだけではデバッグ実行ができません
- 去年の段階ではCompose Multiplatformのコードがほぼ存在しなかったためこれは大きな問題にはなりませんでした
- しかし今年は大々的にCompose Multiplatformが採用されておりデバッグ実行が使えないのはデバッグ手段が限定されてしまうため解決しなければならない問題でした
- 調べた結果このIssueの書き込みが解決の手掛かりになりました
最後に
- 今回はCompose MultiplatformやVRT部分でtakahiromさんに大いに助力頂きました
- 助力がなければマージ出来る状態にまで至らなかったPRもいくつか有った事は事実です
- 今年も素晴らしいアプリの骨子・デザインを元に1ヶ月貢献出来誠に光栄でした
Discussion