Day1 はこちらにまとめています
11:00~ Kotlinハイパフォーマンスプログラミング
Kotlin(JVM)は遅いみたいなのは、ART時代の産物ぽいよねと確かに改めて思いました。 キャッシュヒットまで考えたカリカリチューニングはしたことがないので、勉強になりました。
syntax sugar がインスタンスを使い捨てているのはなるほどになりました。
11:00~ ビジネス向けアプリを開発するときに知っておくべきAndroid Enterpriseの世界
Android Enterprise は開発者としては全く取り扱ったことがないので、概念から勉強になりました。
11:00~ Compose の Text Field を理解する
TextFieldはだいぶ良くなってるなあという印象を受けました。また、発表の途中でAndroidStudioを使いながら説明していて、非常にわかりやすかったです。
11:00~ A small leak can sink a great ship
タイトルが良い。スライドか動画の公開楽しみです (未視聴)
11:00~ MVIに基づくStateMachineアーキテクチャ:KMMとJetpack ComposeとSwiftUIを組み合わせる
MVIの例のコードもかなりわかりやすかったです。また、SwiftUI側でも同じように記述できるのが体感できました。個人的にはKMPでも UI 部分は それぞれで実装したほうがいいと考えているので、自分の思考にちかいものがまとめられていて嬉しかった(?)です。
12:00~ Flutterにおけるアプリ内課金実装 -Android/iOS 完全なる統一-
アプリ内課金という一番プラットフォーム固有の面倒なコード部分を統一できるのは非常に魅力的だなぁと思いました。
StoreKit2 にもきっちり追従してくれると、本当により良いなと思いました。
12:00~ Androidの『音』を制御する
音に関連するものが網羅的にまとめられており良かったです。端末差異について後半まとめられており、こういうのは調査が鬼大変なので大変参考にになると思いました。
というか、ここGoogle側でベンダーに何かしらルールやスペックみたいなものを定義できないのだろうか(もしくは定義しているが無視されている?)
12:00~ 共有
カスタムのshare sheetやめませんか?については、仰ることはわかりますになりました。custom actionがまだ API Level 34なので、完全に対応できるのはまだまだ先になりそうだなぁと思いました。
12:00~ GPIOの制御を通してAndroidがハードを制御する仕組みを学ぶ
最初にタイトルを見たときにはHALまで書くのかと思ったのですが、流石にそこまではしていなかったので安心(?)しました。
特権ユーザで頑張るための過程が書かれていて追試しやすいまとめ資料になっていて良かったです。
14:00~ Androidアプリの良いユニットテストを考える
テストダブルは意外にメンテナンスが大事話が刺さりました。Androidフレームワークに依存している箇所のテストはコードレビューの中でもよく議論になるので、一つの指標として、この資料を参考にしたいと思います。
14:00~ パフォーマンス管理ツールの活用: Firebase Performance MonitoringとMacrobenchmarkを駆使してJetpack Composeを導入するまで
Composeを導入するまでの道のりが書かれていてよかったです。一度計測できる環境(+ baseline)があれば、その後の改善も楽になりそうだと感じました。Composeでパフォーマンスが落ちた部分は、production buildではある程度改善されそうという予感もしました。
14:00~ Jetpack Composeを活用した強力なUI表現の実装実例
技巧的コードは誰にも触れなくなりがちなので、負債にならないように扱うには?という視点の話もあり良かったです。また、AGSLの話にまで最後は触れられていて、この技術は私も気になっているので参考になりました。
これは完全に余談ですが、背景が青で白文字だったので、ブルースクリーンのようでドキドキしました。
14:00~ Introduction to Bytecode Instrumentation with AGP 8
Bytecode Instrumentation 大好きなので、早く資料を見たいです (未視聴)
15:00~ What's new (?) in Android Text
近年のアップデートとその裏側について詳細に書かれており、勉強になりました。ただ、資料だけだと詳細が分からなかったので、動画が公開されたら再度見たいと思います。
15:00~ Jetpack Compose で Android/iOSアプリを作る
KMPで完全に共通化するにはまだまだ外部ライブラリに依存する必要があるのが実感しました。commonMainの Preview 問題はまじで早く解決してほしい....
15:00~ 様々なユースケースに利用できる "パスキー" の導入事例の紹介とUXの課題解説
Passkeyのネイティブでの実装方法についてまとめられていました。Web integrationの方法しか知らなかったので、nativeでもいけるのかと驚きました。
15:00~ Jetpack Benchmark and where to find them
benchmark系の話は何度でも聞きたいので、楽しみです(未視聴)
16:00~ 中規模アプリにおけるレイヤードアーキテクチャでの例外との向き合い方
レイヤードアーキテクチャに置いて、例外含め、エラーとどう向き合うかについてわかりやすくまとまっていました。ビジネス例外やシステム例外としてまとめたり、レイヤーごとにrethrowしたり、モデルとしてresultで返したり、様々アプローチがあることを再認識できました。
16:00~ Jetpack Compose の Side-effect を使いこなす
基本的には既知の内容がほとんどでしたが、produceState
については知らなかったので、ほえ〜となりました。
16:00~ Building a screenshot testing pipeline that scales
ライブでチラ見しただけだったけど、動画か資料が公開されたら感想を書きます (未視聴)
16:00~ 突撃!隣のコードレビュー
チームのボトルネックがコードレビュー待ちになるのはもったいないので、コードレビューの集中時間を作る取り組みはいいなと思いました。
コードレビューは reviewer も reviewee も準備が必要だと個人的には思っていたのですが、そのことにも触れられていてすごく良かったです。
Android特有のレビューtipsはもっと色々ある気がするので、来年は登壇しますか(?)
17:00~ できる!アクセシビリティ向上
talkback の優先度決めのフローが非常に参考になりました。ここでもNIKKEIさんの施策の進め方のうまさが出てるなぁと感じました。本当にすごい会社だ...
17:00~ Our ongoing journey from REST to GraphQL on Android
apollo Client を使った GraphQL の向き合い方や様々なユースケースでの実装方法について触れられており良かったです。
17:00~ Material 3 やめました
タイトルからずっと気になっていたセッション。実際に取り組んで見えてきたpain point はこれからM3を入れるかを悩む人にはかなり参考になると思いました。brand colorとのうまい落とし所は Google 側もなにか考えているのかなぁと気になりました。