Я был достаточно сильно рад, когда вышла LiveData, несмотря на кучу косяков внутри и странных реализаций. Просто потому что она достаточно сильно повторяла те реализации абстракций и потоков данных, которые я люблю использовать в своих приложениях.
Не так давно команда Kotlin представила Flow/State Flow/Shared Flow и всё больше вижу тред на том, чтобы совместить, а затем и заменить LiveData новыми инструментами.
И в целом StateFlow - это из коробки всё как я люблю, ещё более приятный и чистый синтаксис. Отличный универсальный инструмент, но пока не хватает некоторых обвязок.
Если кратко, смотри картинку)
Если долго, то читай:
– StateFlow не убъет LiveData
https://proandroiddev.com/should-we-choose-kotlins-stateflow-or-sharedflow-to-substitute-for-android-s-livedata-2d69f2bd6fa5– StateFlow vs LiveData
https://medium.com/scalereal/stateflow-end-of-livedata-a473094229b3– StateFlow replace LiveData
https://johnoreilly.dev/posts/jetpack-compose-stateflow-livedata/