こんにちは、新卒iOSエンジニアのasahiです!
iOSDCに引き続き、9/14〜9/16に開催されたDroid Kaigiにも参加してきました。
ブース
たくさんのブースが出展されていましたので、全て回ることを目標にブース巡りをしていました。また、一緒に写真も撮っていただいたので、その一部をご紹介しようと思います!
楽天
まずはどでかいお買いものパンダが出迎えてくれた楽天さんのブースに行ってきました!ブースでは抽選会もやっていて、可愛いお買いものパンダのグッズが当たるのですが、僕は外れてしまいました。エコバッグが欲しかった...
Wantedly
次はWantedlyさんのブースに行ってきました!アンケートをやっていて、「アプリのビルド時間は?」と「所有しているAndroid端末の数は?」といった内容でした。
アプリのビルド時間は3〜8分の回答が多かった印象で、どこでも悩みの種なんだろうなと思った記憶があります。
所有しているAndroid端末の数は僕は持っていないので0台なのですが、話を聞いてみると中には20台以上持っている人もいるらしく驚きました。僕もiPhone 3GSからiPhone Xまで全部の端末持っているので、気持ちはわかります笑
MagicPod
次は「アンケートに答えると宇宙食が当たる!?」との文字に惹かれて、MagicPodさんのブースに立ち寄ってみました。早速アンケートに答えて抽選のクジを引くと、見事当たり!で宇宙食をいただけました!いくつかバリエーションがあってバニラアイスやエビグラタンなどあったのですが、僕はたこ焼きがこの世で最も好きな食べ物なので、たこ焼き味をもらいました。その日のうちに食べてしまったので、写真は撮り忘れました...
他にもたくさん写真撮ってもらいました!
セッション
A ~ Eの5つの会場があり、たくさんのセッションが開催されていましたが、iOSエンジニアの私でもたくさんの学びがありましたので、いくつか紹介します!
Master of NestedScroll
ネストスクロールとは?
複数の要素が単一のスクロール操作に反応する
とされており、スクロール操作に対して、対象のコンポーネントを的確に制御するのが大変そうだなと初め思いながら聞いていました。
セッションでは「子で消費されなかったスクロール量を親に伝播させる」といった説明をしていたのですが、これが概念的にわかりやすく0から聞いていても理解しやすい発表でした。 JetpackComposeだとデフォルトでネストスクロールがサポートされているのですが、AndroidViewだと、サポートされておらずスクロールのイベントを用いてカスタム可能であること、また、相互運用についても説明いただきました。
Androidアプリの良いユニットテストを考える
良いユニットテストの特徴
・再現性と独立性がありテストが安定している
・迅速なフィードバックを得られる
・テストしたい箇所のテストを実行するのが容易
・リグレッションを検知できる
・テストによる誤検知が少ない
・テストコードが保守しやすい
はじめに良いユニットテストの特徴について説明いただき、テストで使用するモックなどのテストダブルのメリット、デメリット、そして、Androidでのユニットテストの改善例をコードを交えて説明いただきました。
テストが大事なのは当たり前ですが、良いテストコードを書くという意識は薄かったです。セッションを通して、自分のテストへの意識や理解のレベルが上がっていくことを実感できる発表でした。
終わりに
DroidKaigiを通してたくさんの人のお話を聞けて学びになりとても良い経験でした。モバイルアプリのプロダクトはiOSとAndroidの両方で展開することが多いと思いますが、実装機能など両方のプラットフォームで実現可能であるかどうかなど、認識を常に合わせておくことが大事だと思っています。そういった点では、DroidKaigiを通して、Androdの最新のトピックであったりベストプラクティスなどを知れたので、iOSエンジニアとして参加した意義がありました。
ここまで私の拙い文章を読んでいただいてありがとうございました。それでは。