As part of the series of posts announced at this initial blog post (.NET Application Architecture Guidance) that explores each of the architecture areas currently covered by our team, this current blog post focuses on “Mobile Apps with Xamarin.Forms: Architecture and Patterns guidance“. Just as a reminder, the four introductory blog posts of this series are (or will be as of today) the following:
There are many issues that must be resolved when creating an enterprise mobile app. These include:
You can download this eBook that offers guidance on core patterns and architectural guidance for developing Xamarin.Forms enterprise apps that are easier to test, maintain, and evolve. Guidance is provided on how to implement the Model-View-ViewModel (MVVM) pattern, dependency injection, navigation, validation, and configuration management, while maintaining loose coupling. In addition, there’s also guidance on performing authentication and authorization with IdentityServer, accessing remote data from containerized microservices, and unit testing.
The eBook comes with source code for the eShopOnContainers Xamarin.Forms mobile app, which is a mobile app that extends the eShopOnContainers microservice/containers scenario. This mobile app includes the following functionality:
We wrote this guide for mobile app developers and solution architects who are new to Xamarin.Forms while looking to learn and adopt proven enterprise architectural/design patterns and best development practices for Xamarin.Forms apps.
The eBook focuses on building cross-platform enterprise apps using Xamarin.Forms and uses the eShopOnContainers mobile app as an example. The following diagram shows the pages from the eShopOnContainers mobile app that provide the functionality outlined earlier:
The mobile app consumes the backend services provided by the containerized microservices. However, it can also be configured to consume data from mock services for those who wish to avoid deploying the backend services and just want purely explorer the Xamarin.Forms mobile app without the hassle of deploying a microservice-based backend.
Enterprise Application Patterns using Xamarin.Forms focuses on core patterns and architectural guidance for developing Xamarin.Forms enterprise apps that are easier to test, maintain, and evolve. Guidance is provided on how to implement MVVM, dependency injection, navigation, validation, and configuration management while maintaining loose coupling. In addition, there’s also guidance on performing authentication and authorization with IdentityServer, accessing remote data from containerized microservices, and unit testing.
Remember that this ‘Web Applications with ASP.NET Core Architecture and Patterns guidance’ explained at this blog post is part of a broader .NET Architecture guidance which covers additional subjects and you can check out at the .NET Application Architecture Center page where you can download the multiple eBooks/Guides and visit the reference applications from there, and of course, feel free to provide feedback by dropping a note below or on the feedback form at the architecture page.
Happy coding from the .NET team!