2025/9/24 After DroidKaigi 2025 from ピクシブ
↓ 配信アーカイブはこちら!!
https://youtu.be/P5h4isMYmMY
-------------------------------------------
# Composeのイベント地獄から脱出しよう!The Elm Architectureの導入にみる可能性
Composeでは、複数のUIパーツから成るコンポーネントを関数として手軽にコンポーネント化できます。
しかしその反面、UIコンポーネントから発生するイベント(タップ, 文字の入力, etc)を引数として宣言する必要があり、複雑な画面ではComposableの引数の数は爆発的に増加します。特に巨大な画面ではイベントの数がプログラマには把握するのが困難なほどに膨れ上がり、Composableの引数に大量のイベントが宣言される「イベント地獄」に陥ります。
このセッションでは、「イベント地獄」を緩和するために、The Elm Architectureの思想をComposeに持ち込んで試行錯誤した過程を紹介します。
具体的には、Elm ArchitectureのMsg, Updateの考え方をComposeでどのように実現するのか、導入の結果どんなメリット・デメリットがあったのか、実際のプロダクトに適用した際の内容を交えてお伝えします。
なお、最終的にElm Architectureは採用しないという判断に至りましたが、その過程で見えてきた知見や他のMVI実装への応用のポテンシャルなど、Composeを利用した開発全般にも活かせるような内容です。