nashcft's blog

時々何か書く。

DroidKaigi 2019 感想

DroidKaigi 2019 に参加してきた。

droidkaigi.jp

セッションのノートとかは Scrapbox にまとめてある。これを書いている時点でまとめきれていないものがあって #WIP ってついてるのがそれ。 scrapbox.io

感想

聴いたセッションで特に印象的だったもの

Deep Dive to fido.fido2 Packages

最近とんとセキュリティ関係のトピックに触れてないなーって思ってて、なんか最近FIDOっていうのが注目されてるらしいので何も知らないけどとりあえず聴いてみて雰囲気だけでも掴んでみよう!というモチベーションで聴きに行った。実際セッションを聴いてFIDOについてどれだけ理解を得たかというとまだふわっとしかできてないと思うのだけど、認証まわりのどんな課題に対してFIDOがどんなアプローチをしているのかとか、attestation と assertion の大まかな流れとか、 fido.fido2 周辺のAPIにどんなのがあってどういう風に使って認証のUIを実現するのかとか、これから学習していくための良い introduction だなーと思う。
Android でFIDOの認証フローを実装するのは、送受信するデータのプロパティが多くてゴツい印象があったけどUIに関してはAPIから Intent もらって launch するだけでUIそのものを実装しなくて良く、そんなに手間ではないように感じたので開発してるサービスでFIDOの認証採用するよ!ってなった時にシュッと実装できるようになっておくとよさそう。
それと最後にアプリの実装だけでなくFIDOを採用するにあたってカスタマーサポートやサーバサイドなど各方面と、特にユーザの認証のリカバリまわりでうまくオペレーションできるように連携しましょうねって話があってこういうの大事だよねと思った。この辺の話は同じ日の最後のセッション "Chrome + WebAuthn で実現できるパスワードレスなユーザー認証体験と開発者の課題" でより進んだ言及があったので、サービスでの運用まで情報を拾っておきたい場合は合わせて見ておきたい。

ところで新しい概念について覚えたり理解しようとするのにいっぱいいっぱいでノートがろくに書けなかったのでまた録画見て理解したことを整理してノートにまとめないとなーってなってる。

R8、Proguard徹底比較

聴く前はパフォーマンスとか shrink の比較とかかなーって雑に考えてたら Dalvik バイトコードを読み始めたり R8 の最適化の一つである lambda group がどのように行われるかを R8 の実装を追いかけながら解説したりとなかなかアツい展開になってすごく満足度が高かった。
SDKとかもそうだけど私はあんまりそういうののソースコード読まないよなーって気づいて、document だけじゃなくてコードも読んだ方がいいのかなー今年はその点を頑張ろうかなーともやもや思ったのであった。

あと、発表者の方も自分で言っていたけど発表のボリュームに対して時間が足りなくて余裕のない感じだったので50分枠だったらなあと思わずにはいられない...

multi-module Androidアプリケーション

マルチモジュールっていうとビルド時間を短縮するみたいな文脈で語られがちな印象があったけど、依存関係の強制で設計のほころびを起こしにくくするというのはなるほどってなった。確かに Java から Kotlin になって失った package private の代わり(?) の internal を活用する設計とか考えるとそうなるよねーというのはあって、そういう文脈でもマルチモジュール化の流れはあるのかーという納得があった。
あとはビルド時間の短縮のためには各モジュールのサイズとか依存関係の形にも注意が必要だとか、まだ本格的にマルチモジュール化を行ったことがない身としては知見にあふれるセッションだったし、スライドもよくまとまっているうえになんというか発表が落ち着いててわかりやすいというか聴きやすいトークだったなあという印象がある。

Lifecycle, LiveData, ViewModels - The inner wiring

droidkaigi.jp

これ聴くつもりだったのだけど当日疲れてていいやってなってパスしたところTLが盛り上がっててこれ絶対楽しかったやつだ... ってなってた。録画がもう公開されてるしあとで見る。

全体の感想

去年の DroidKaigi 2018 が DroidKaigi 初参加だったので去年との比較になるのだけど、なんだかセッションのバラエティが偏ってるように感じてどのセッションを聴くのか決めるのに少し悩んでしまったのがある。ただこれは単にネガティブな感想だけではなくて、同じトピックであっちは同じ時間帯に聴きたいセッションあるからこっちにしようみたいなことができて助かったみたいなのもあり、セッション選定とか時間割組み立てとかやっぱり難しいんだろうなと思った。
他には設計・テストみたいな大きなトピックとクロスプラットフォーム関係が多いなーという印象があった。前者は Android アプリ開発界隈が成熟してきてるのかなーって感覚で、後者はやっぱり注目度が上がっているのだなという感じ。
クロスプラットフォーム系の何か1つは習得しておきたさがあるのだけど、今のところ web も AndroidiOS もそれぞれ人数揃ってて精通しているメンバーがいるようなところにいるのであんまり採用するモチベーションがないよなってなってて優先度が上がらない...
あと今回のPWAのセッションで話があったようにPWAの web アプリをモバイルアプリとして PlayStore で公開できるようになったなどあるので iOS も同じような流れがあるならPWAの方が需要でそうな気がしてちょっと立場が厳しくなるのではないかみたいなのをちょっと気にしている。

展示ブースは色々見て回れて、今年もバリスタコーヒー頂けたし Kotlin Quiz では7問中6問正答で Kotlin ももっときちんと勉強しないとなーってなったし Twitter でよく見るような方とお話できたしとても楽しかった。

運営・登壇者の皆さまお疲れ様でした。とても楽しく刺激的な2日間でした。来年もまた参加できたらなと思います。おわり。