ヤフー株式会社(LODGE)で開催された「Bonfire Android #5」に参加してきました!
今回のテーマは「Jetpackとサービス」で、以下5件の発表がありました。
個人的にどうしても聞いておきたいテーマだったので、「ブログで感想枠」で申し込みました(会場に着くまでそのことは忘れていましたがw)。
本記事はそのレポートを兼ねています。
- Navigationを見据えたリファクタリング ~マルチモジュール化を添えて~
- マネーフォワードMEにおけるJetpackの活用事例
- Paging Library ~アイテムの更新~
- Room(へや)とコルーチンと私
- JetpackのNavigationと関連UIコンポーネント導入振り返り
Navigationを見据えたリファクタリング ~マルチモジュール化を添えて~
ヤフー株式会社の@fei_komeさんによる発表です。
「Yahoo!ファイナンス」アプリにNavigation
を導入しようとしましたが、歴史が長く"アレ"な状況だったので、将来的に導入するための前準備としてリファクタリングを行った話でした。
マルチモジュール化、また、依存性逆転の原則を利用してAppモジュールにあるFragmentをNavigationインタフェース経由でPresenterモジュールから呼び出すようにしたとのことです。
直接Jetpackの話ではありませんでしたが、既存のアプリのアーキテクチャを変更するときの1つの参考になりそうだと思いました。
スライドは以下になります。
マネーフォワードMEにおけるJetpackの活用事例
株式会社マネーフォワードの@syarihuさんによる発表です。
「マネーフォワードME」アプリの新規画面にJetpackを導入した話でした。
ViewModel
、LiveData
、Lifecycle
を導入したそうですが、ただ導入するだけでなくコードベースでの解説やペアプロという形でチームに浸透させるための取り組みを行っている点もよいと思いました。
余談ですが、MEは「Money Experience」の略だそうです(気になって調べました笑)。
スライドは以下になります。
Paging Library ~アイテムの更新~
合同会社DMM.comの@kgmyshinさんによる発表です。
Paging
を利用するときのツラミとその回避策の話でした。挙手による調査ではPaging
を利用している参加者は2名のようでした。笑
リスト内のアイテム更新をRoom
を利用して行う方法と利用せずに行う2種類の方法が紹介されていましたが、個人的には後者の方がしっくりきました(単にRoom
を使ったことがないからかもしれませんが)。
スライドは以下になります。また、サンプルコードはこちらになります。
Room(へや)とコルーチンと私
グーグル合同会社の@yuichi_arakiさんによる発表です。
主にRoom 2.2.0-alpha02
に導入されたCoroutines Flow
を中心とした話でした。…が、正直全く理解できませんでした。勉強不足です。
そろそろCoroutines
に触れておかないと本気で時代に取り残されるなと感じました。
スライドは以下になります。
JetpackのNavigationと関連UIコンポーネント導入振り返り
ヤフー株式会社の@k_mikuさんによる発表です。
「Yahoo!ニュース」アプリにNavigation
を今度は実際に導入したときの話でした。
Jetpack全てがそうであるとは限りませんが、便利ツールはカスタマイズしたいときにツラミを感じるという割とよく直面する話で共感度が高かったです。
あと、「大きな改修時にはなるべく1つ新しい技術に挑戦する」という方針は素晴らしいと思いました。
スライドは以下になります。
www.slideshare.net
以上です。
「Bonfire Android」は今回が初めての参加でしたが、発表内容のレベルがどれも高く、これらを理解してさらにスキルアップしていきたいという気持ちが強くなり、個人的にはモチベーションが上がりました。
次回以降もまた参加したいと思います。