こんにちは。技術本部 Mobile Application Groupの山本です。EightのAndroid版の開発を行なっています。
Eightのアーキテクチャは何度か部分的な見直しを行なっているのですが、現在の主流からは古くなってしまった部分も存在します。そのため全面的に見直しを行うことにしました。この試みは週1回のアーキテクチャ検討会として1年以上継続しています。
Rxをコルーチンに置き換えるといった、利点が明確なものについてはそこまで大きく議論になる部分はなかったのですが、状態管理については抽象度が高く、絶対的な正解というものが存在しないため、かなり議論がありました。
特に弊社の2つの代表的なアプリであるSansanとEightでは状態管理方式の違いがあり、お互いの利点について認識を合わせることが難しい部分がありました。
これに対してDomainStateという別の概念を導入することで認識のすり合わせを行いました。これについてお話しします。
続きを読む