Session

Epoxy詳解 ~宣言的UIで複雑なレイアウトに立ち向かう~

日々複雑化していくアプリの要件やレイアウトを実現する上で
RecyclerViewを用いたリストUIの実装に
- ボイラープレートコードの量が多くなってしまう
- レイアウトの全体を把握しづらい
などといった悩みを抱えている方も少なくないのではないでしょうか。

そのようなRecyclerViewにおける問題を
Airbnb社が開発・公開するOSSである Epoxy が解決してくれます。

Epoxyでは開発者が定義したViewとデータ構造から
EpoxyModelクラスというRecyclerViewに接続するためのクラスを
自動生成することで記述すべきコードの量を減らすことに成功しています。

そして開発者は自動生成されたEpoxyModelクラスを
リストの並びに合わせて宣言的に記述していくことで
複雑なレイアウトも見通しよく実装していくことが可能になります。

本セッションでは、そのようなEpoxyの実践的な使い方を理解することで
複雑なレイアウトへのEpoxyの導入ができるようになることを目的とします。
さらに、Epoxyの思想や仕組みについて理解することでJetpack Composeなどでも提供される宣言的UIの性質についての理解を深めることを目指します。

発表トピックとしては以下を予定しています。

- Epoxyの内部的な仕組み
- Epoxyの多様なAPIの使い分け
- 宣言的UIとEpoxyの関係
- 単純なレイアウトから構成されるリストUIの実装
- 複雑なレイアウトから構成されるリストUIの実装
- ページング処理を必要とするリストUIの実装
- リスト形式ではないUIをパフォーマンスよく実装する

Yuji Koyano

Android application and backend engineer, Recruit

View Speaker Profile