# Building An Application With MVVM

DevFeed: [Building An Application With MVVM](<https://devfeed.tech/articles/building-an-application-with-mvvm-22796.md>)

Original publisher: [Read original article](<http://androidessence.com/building-an-app-with-mvvm/>)

Author: Adam McNeilly

Published: 2018-10-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Android Essence](<https://devfeed.tech/sources/android-essence.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [LineageOS](<https://devfeed.tech/topics/lineageos.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-architecture](<https://devfeed.tech/tags/android-architecture.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [architecture-pattern](<https://devfeed.tech/tags/architecture-pattern.md>), [building](<https://devfeed.tech/tags/building.md>), [patterns](<https://devfeed.tech/tags/patterns.md>)

## AI overview

This tutorial introduces the MVVM architecture pattern for Android application development. It explains the roles of the Model, View, and ViewModel components, including how the ViewModel maintains state, interacts with the data source, and handles relevant business logic. It also compares MVVM's communication flow with MVP.

## Source excerpt

This is the second post in what will be an ongoing series to demonstrate a few different architecture patterns that are used for Android development. You can find the code for each of them, often appearing before the blog posts, by following this repo. Give it a star! In our previous post we discussed the MVP architecture for building an app. This time, we're going to check out MVVM.