エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

Android感謝祭を開催しました

Happy thanksgiving day!!

7年間毎日Androidに面と向かって感謝し続けてる、荒谷(@_a_akira)です。

Thanksgiving day1週間前の11/21(木) にCrowdWorksさんのオフィスをお借りして、「Android感謝祭」を開催しました。

f:id:AAkira:20191128145822j:plain
秋っぽいドロイド君にしてみました

m3-engineer.connpass.com

この記事では発表内容についてそれぞれ振り返ります。

事前アンケート

参加者の方々には事前アンケートにて「最近ためになったと感じているブログ記事や勉強会・カンファレンスの発表」についてご回答いただきました。(任意)

感謝祭ということで、オープニングではこれらの記事に対する感謝の謎儀式が執り行われました。

発表紹介

5年更新してなかったアプリが...(略)

トップバッターは僭越ながら私が務めました。
弊社のスーパー人事の方に、トップバッターは笑いを取らないと駄目だよと圧をかけられたのでネタ枠として笑いの種を複数投下しましたが半ウケぐらいでした。精進させていただきます。
Androidを長年やっている私でも、新しいAPIが追加されたり昔とはAPIの仕様が異なっている部分があって毎回同じような事を調べるので、Androidアプリ開発でよくやるものリストをまとめてみました。 発表時間は15分にも関わらずスライドは130枚もあるので、参加者に聞きたい項目を挙手制で募ってその場で選択する形式で発表してみました。 当日はViewPager2とBottomAppBarについて話しました。 その場で話せなかった箇所については資料を見て下さい。少しでも参考になれば幸いです。

f:id:AAkira:20191128162929j:plain

ちなみに、Kotlin Fest2019で200人ぐらいの前でインスタの宣伝をしたけど1人もフォロワーが増えなかった話をしたら、なんと4人?くらいフォロワーが増えました。ありがとうございます!

スライドシェアだとgifが動かないので、Google Photo版も用意しています。

photos.google.com

Flutterでもコードの自動生成をしたい

Flutterと言えば @kikuchyさんということでkikuchyさんをお招きしてFlutterのコード自動生成の話をして頂きました。

f:id:AAkira:20191128165934j:plain

Androidではよくやるコードの自動生成ですが、当然同じモバイルアプリ開発をしているのでFlutterでもコードの自動生成をしたくなると思います。Flutter上で実現するのはJavaやKotlinでやるより難しそうでしたが見事実現されていたのはさすがです。
恥ずかしながら、Flutterではリフレクションが使えないというのを初めて知りました。 以前FlutterでJOSNパースしようとした時に、キーを手作業で入力した記憶があったのですが、そういう理由だったのかと納得しました。勉強になります。

kikuchyさんが作成した自動生成のライブラリはこちらです🌟

github.com

docs.google.com

Navigation Componentで先に知っておきたかったポイント

3つ目の話は、弊社の@oboenikuiによるNavigation componentの話です。

f:id:AAkira:20191128170020j:plain

まもなくリリース予定のアプリでは、Android Archtecture Componentsを使ってモダンな設計で開発をしています。 当然Navigation Componentも多用しているのですが、その際に得た知見を発表してくれています。
Navigationの記述自体はxmlで行うため、使っているだけではあまり意識をすることがないのですが、DeepLink等の複雑な遷移が絡むとややこしいパターンがいくつかあり混乱することがよくあります。
発表では木構造のグラフを用いてわかりやすく解説していました。
Navigationの整理をするのにピッタリだと思うので、遷移でハマった時は資料を見直して復習しましょう。

最新のFragment事情

最後は、最近GDEになられた@STAR_ZEROさんの最新のFragment事情についての発表です。

f:id:AAkira:20191128170156j:plain

Fragmentのバックボタンのハンドリングは結構クセが強くて、今まではActivityと密結合になりやすかったのですが、OnBackPressedDispatcherの登場によってバックボタンのハンドリングがかなりやりやすくなります。既に個人アプリでは使っているのですが、以前の苦労が嘘みたいに簡単に制御出来るようになりました。
ktxのライブラリシリーズはたくさんあるかつ、更新が活発で全て追うのはとても大変です。 こういった形で便利な機能をまとめて頂けると、とても助かります。

speakerdeck.com

まとめ

懇親会ではThanksgiving dayに因んで、チキンを食べました! 勉強会の懇親会はピザ等が多いので、チキンは新鮮で良かったです。

発表して頂いた@kikuchyさん、@STAR_ZEROさんありがとうございました!

We are hiring!!!

エムスリーではAndroidアプリを作っています!!!!!!!!!!!!!!!
大きな裁量をもって自らチャレンジし、アプリの力で医療の課題を解決するエンジニアを募集しています。 本ブログを読んで興味を持った方はぜひ下記リンクよりご応募ください!

jobs.m3.com

※ Android ロボットは、Google が作成および提供している作品から複製または変更したものであり、クリエイティブ・コモンズ表示 3.0 ライセンスに記載された条件に従って使用しています。