LiveData & Flow в MVVM
#статьи #разработка #опрос
Если ваше приложение имеет MVVM архитектуру, то обычно у вас есть какой-то слой данных (например, репозиторий), ViewModel и View (например, Fragment).
При подобном подходе, разработчики чаще всего используют LiveData: это компонент, который подходит для работы в suspend-функциях. Он учитывает жизненный цикл других компонентов приложения (Fragment, Activity, Service). В общем, довольно удобная штука, которая избавляет от головной боли.
Однако, при этом многие забывают о таком компоненте как Flow, который ещё лучше подходит для получения данных с репозитория, особенно в ситуациях, когда получать данные нужно с заданной периодичностью.
Ведь по сути, Flow — реактивный поток данных в coroutine, который может возвращать несколько значений из suspend функции. Также тут можно легко трансформировать данные между различными типами.
Крутая статья, которая рассказывает о том, как использовать Flow в своих приложениях тут, а также вторая часть. Кроме того проект, описанный в статьях, можно использовать как отличный пример использования MVVM.
Очень понравился подход с Flow, думаю о том, чтобы использовать его и в своих проектах.
А используете ли вы LiveData + MVVM в своих приложениях?
#статьи #разработка #опрос
Если ваше приложение имеет MVVM архитектуру, то обычно у вас есть какой-то слой данных (например, репозиторий), ViewModel и View (например, Fragment).
При подобном подходе, разработчики чаще всего используют LiveData: это компонент, который подходит для работы в suspend-функциях. Он учитывает жизненный цикл других компонентов приложения (Fragment, Activity, Service). В общем, довольно удобная штука, которая избавляет от головной боли.
Однако, при этом многие забывают о таком компоненте как Flow, который ещё лучше подходит для получения данных с репозитория, особенно в ситуациях, когда получать данные нужно с заданной периодичностью.
Ведь по сути, Flow — реактивный поток данных в coroutine, который может возвращать несколько значений из suspend функции. Также тут можно легко трансформировать данные между различными типами.
Крутая статья, которая рассказывает о том, как использовать Flow в своих приложениях тут, а также вторая часть. Кроме того проект, описанный в статьях, можно использовать как отличный пример использования MVVM.
Очень понравился подход с Flow, думаю о том, чтобы использовать его и в своих проектах.
А используете ли вы LiveData + MVVM в своих приложениях?