DroidKaigi 2023 Day1 セッション感想
はじめに
現時点でアップロードされているセッションをすべて見たので感想です。オンラインで参加しており、直接スピーカーの方にフィードバックできないので、せめて感想だけでも... 動画として上がっているのは動画を、それ以外はスライドを見ました。どれも非常に面白かったので、明日(day2)も楽しみです。
11:20~ これで安心! Compose 時代のDon’t keep activities対応
Don't keep activities で壊れるアプリは地味にあるので、やはり気になるわね。(未視聴)
11:20~ Gradle Convention Plugins
よくよく考えると、なぜ plugin にしなきゃいけないのかいまいち旨味がわかっておらず、shared gradle fileやmaven repositoryにpublishでええやんという先入観があったので、それを解消する意味でも導入が非常に良かったです。
convention plugin がどういうケースで有効に働くのか、どう書いていくといいのかがわかりました。(gradleはなんとなくでしか update 追ってないのでちゃんと知ろうと思いました)
11:20~ Modifier.Node を使いましょう
後半の書き換え tips が非常に勉強になりました。また、p. 104 の Modifier.Node
への置き換え事例をまとめたスライドも良かったです。
Modifier.Node
は一体いつから入ったけなー発表を聞いた後に調べたらなんと、Compose 1.3.0 辺りらしかった。
本題とは関係ないのですが、配信は本番一発勝負なので問題が起きた時に、機材の担当者や発表者、聴講者含めてみんな焦りますよね。その中で、冷静に対処して続きを始めていたので、すごいなと思いました。
11:20~ Deep dive into size configuration changes
Foldable なデバイスの window size とかは configuration change に飛んでくると思うので、気になるセッション (未視聴)
11:20~ Android Open-source repositories 101: Everything you always wanted to know
AOSP を読むのは絶妙に難しいので、気になるセッション (未視聴)
13:20~ Unleashing the Power of Android Studio
canary の変更ばかりよく追っているので、これって今stableになったんだ(まだ stable じゃないんかい)の知見がたくさんあった。こうやってまとめてみると結構差分が多いなぁというお気持ちになりました。
13:20~ よく見るあのUIをJetpack Composeで実装する方法〇選
こういう細かな知見をもっとためて、迅速にUIを実装できるようにしたいと思いました。
いったい sticky header はいつになったら experimental が外れるんだとまた思いました。
13:20~ Supercharging Android Testing: Scalable Environments for Large Teams on Diverse Devices & Features
WhatsAppでの事例になるのかな... 気になる (未視聴)
13:20~ 作って学ぶadbプロトコル
かなり面白いものでした。はじめに基本的な登場人物の概念について説明した後に、ls
コマンドと、デバイスにメッセージを送る部分を実装していて興味深かったです。
14:20~ Securing Android Applications - The not so secret guide explained
そもそも、こんなページが用意されていることも知らなかった。
R8をちゃんと使ったり、正しくAPIを使っていれば大丈夫なはずみたいなのも多いけど今一度、本当に「正しく」使えているかは確認したほうがいいなと思いました。
14:20~ Push 通知許諾率向上のアプローチ
攻め (通知をonにさせる) と 守り (通知をoffにさせない) の部分についてそれぞれどう取り組まれたのか、かなり具体的な数値とともに記載されていて参考になりました。NIKKEI さんの施策への取り組み方かなり素敵だなと例年話を聞いていて思います。
14:20~ (Unofficial) Guide to App Architecture Guide Vol. 2
去年のVol.1 は面白かったので、Vol.2 も期待 (未視聴)
14:20~ iOSとAndroidで定期購入の意図しない解約を防ぐ
タイトルを見たときから、どういう意味だろうと疑問に思っていましたがスライドを見て納得しました。最近はこういった課金周りの実装を大真面目にやったことがなかったので、そもそもGrace Period なるものがあることや、カスタムの in app message を出すための実装などが参考になりました。
15:20~ モニタリングでパフォーマンス改善入門
非常に良かったです。実は私も似たようなテーマでCfSを出していたので、こういった話を伝えたかったですw
AndroidStudioのprofilerは主に操作性に難がある所も多いので、perfettoのUIを自分も推します。
15:20~ YouTubeへのライブ配信機能をリリースするまで
Google Verification に4-6 週かかるのまじかとなりました。また、それにたいしてなにを事前準備できるかの部分は非常に参考になりました。
15:20~ Android boot verification to ensure integrity of OS and partitions.
Boot verification の話を始める前に、Bootってなんですか?どういうステップで進みますか?みたいな初心者むけのところから始まっていて大変勉強になりました。
15:20~ Host-based card emulationで簡単NFC生活
APDUのエンコーダ・デコーダはAndroidプラットフォームにAPIが用意されていないというのを見て、やはりそうなのか...になった。
このへんの実装は気になるので、ここを後でちゃんと見てみようと思います。
16:20~ Maintaining E2E Test Automation as We Transition from View to Compose
これはかなり良かったです。
Mercariの話おもろかった👏ああいいう中間レイヤーを噛ますことで実装だけでなくE2Eテストをスイッチして品質保証するのは良い手法だなと素直に思った #DroidKaigi
— chigichan24 (@chigichan24) September 14, 2023
こういうmigurationの正当性を担保する類の話は、どの out 部分をどういう方法でテストするのかが大事だと思っていて (例えば、単一のクラスなら public method の unit test、もう少し大きなコンポーネントならE2E test、手によるテストなど)、それを今回は automatic になるべくやる方法をうまく実現しているなぁと思いました。
16:20~ Master of NestedScroll
いろんなケースについて、詳細にコードを例示しながら説明されていて非常にわかりやすかったです。何か問題に直面した時にまた、ちゃんと見てみたい。
協力的な親View は大事w
16:20~ Overcoming the Challenges of Integrating an Epub Viewer into a Modern Android App
いわゆる、アーキテクチャガイドに掲載されている形式にするための、解釈のしかたと、実際にAndroidViewをラップして compose でやっていく上での注意点みたいな部分が勉強になりました。EPUBに限らず、使える tips だと感じました。これは、似たようなことをやる機会が来たタイミングで読み直したい。
16:20~ Jetpack GlanceではじめるMaterial3のColor
M3の課題部分が非常に興味深かったです。個人で作るような適当な(?)アプリでは、雑に導入できますが、やはり「画面全体を使うアプリでユーザーのカスタマイズを反映することが体験の向上につながるかは検討が必要」という部分は慎重な議論が本当に必要だと思いました。