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

Using the API

With the Client class and its supporting DTO and API domain classes in place, we’re ready to interact with the API to create accounts and log in, as well as store and retrieve our preferences.

Creating the account

The first thing a new user will do is create an account. To make this work, we need to bring the user to the Login page when the app starts. Here, the user can log in, or if they don’t have an account, they can click on Create Account, which will take them to CreateAccount.xaml, where they can fill in their name, email, and password. To implement this, we have to make some substantial changes to the Login and Create Account pages.

Let’s begin by pointing the application to start with login. Modify the App.xaml.cs App method to look like this:

public App(LoginViewModel loginViewModel) [1]
{
  InitializeComponent();
  MainPage = new LoginPage(loginViewModel); [2]
}

[1] Have the IoC container pass in an instance...