The MVVM pattern identifies three major components: the view, the view model, and the model. This chapter describes the UI of the Tailspin Surveys mobile client application and the way that Tailspin uses the MVVM pattern. The Tailspin mobile client application also includes a number of services. These services can be invoked from the view, view model, or model components and include services that do the following:
- Manage the settings and surveys stores that handle data persistence for the application.
- Save and load the application’s state when it’s activated and deactivated.
- Synchronize survey data between the client application and the Tailspin Surveys web application.
- Notify the application when new surveys are available.
- Encode audio data, and support application navigation and other infrastructure services.