🤔

AndroidのObservableとLiveDataの違い

2023/08/08に公開

viewModelのstateの監視には何が適切なのか?

  • ObservableとLiveDataがある
  • Observableはよく使われてそう
  • LiveDataはGoogleの公式っぽい

Observable

  • ReactiveX(RxJavaなど)の一部

  • Observerパターンを実装するためのインターフェースと実装を提供していた

  • データストリームの処理用に設計されている

    • フィルタリング・変換・結合などのデータストリームの処理に便利なAPIが多数提供されている
  • 多言語でも提供されている

    • 2009年に.NETでRx.NETが登場
    • その後様々な言語に移植された
    • 2013年にRxJavaがNetflixからリリース. ReactiveXをリード
    • iOSならRxSwift
  • 参考

LiveData

  • Android Architecture Componentsの1種
  • UIの更新に関連するシンプルなデータ監視目的に特化している

まとめ

  • ViewModelのstateを監視するならLiveDataで良い

Discussion