# Building Shopify POS for Android Using MVVM

DevFeed: [Building Shopify POS for Android Using MVVM](<https://devfeed.tech/articles/building-shopify-pos-for-android-using-mvvm-1334.md>)

Original publisher: [Read original article](<https://shopify.engineering/building-shopify-pos-android-using-mvvm>)

Author: Richa Khanna

Published: 2018-10-31T17:30:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Shopify](<https://devfeed.tech/topics/shopify.md>), [Android](<https://devfeed.tech/topics/android.md>), [mvc](<https://devfeed.tech/topics/mvc.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [developers](<https://devfeed.tech/tags/developers.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [onboarding](<https://devfeed.tech/tags/onboarding.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [state](<https://devfeed.tech/tags/state.md>), [testing](<https://devfeed.tech/tags/testing.md>), [user-interface](<https://devfeed.tech/tags/user-interface.md>)

## AI overview

This article explains why Shopify standardized its Android POS app on the Model-View-ViewModel (MVVM) architecture. It describes the earlier use of MVC and MVP, the benefits of consistency, state retention, separation of concerns, testing, and onboarding, and the gradual migration strategy for legacy screens.

## Source excerpt

There are many architectures out there to structure your app. The one we use in Shopify's Point of Sale (POS) for Android app is the Model-View-ViewModel (MVVM) pattern based on Google's App Architecture Guide which was announced last year at Google I/O 2017. Shopify POS History Our POS app is three and a half years old, and we didn't build it using MVVM from scratch.