Book Image

.NET MAUI for C# Developers

By : Jesse Liberty, Rodrigo Juarez
3.7 (6)
Book Image

.NET MAUI for C# Developers

3.7 (6)
By: Jesse Liberty, Rodrigo Juarez

Overview of this book

While UI plays a pivotal role in retaining users in a highly competitive landscape, maintaining the same UI can be tricky if you use different languages for different platforms, leading to mismatches and un-synced pages. In this book, you'll see how .NET MAUI allows you to create a real-world application that will run natively on different platforms. By building on your C# experience, you’ll further learn to create beautiful and engaging UI using XAML, architect a solid app, and discover best practices for this Microsoft platform. The book starts with the fundamentals and quickly moves on to intermediate and advanced topics on laying out your pages, navigating between them, and adding controls to gather and display data. You’ll explore the key architectural pattern of Model-View-ViewModel: and ways to leverage it. You’ll also use xUnit and NSubstitute to create robust and reliable code. By the end of this book, you’ll be well-equipped to leverage .NET MAUI and create an API for your app to interact with a web frontend to the backend data using C#.
Table of Contents (18 chapters)
1
Part 1 – Getting Started
8
Part 2 – Intermediate Topics
12
Part 3 – Advanced Topics

MVVM and Controls

In Chapter 3, we examined the fundamentals of .NET MAUI, but our code was in the code-behind files associated with XAML files. It is time, though, to turn our attention to the consensus architecture for .NET MAUI.

Model-View-ViewModel (MVVM) is not a tool or a platform but an architecture. Simply put, it is a way of organizing your code and thinking to optimize the creation of .NET MAUI applications and to facilitate unit testing (see Chapter 9).

At its simplest, MVVM consists of three sets of files, that is three namespaces, which essentially means three folders (with subfolders as needed). Taken in turn, Model is the set of classes that define the shape of your data. This just means that the classes that represent data are held in the model.

View is, in simple words, the page that the user sees.

ViewModel is where all the action happens. It is the set of classes that manage the logic of your program and that contain the properties that are presented...