Book Image

.NET MAUI Cross-Platform Application Development - Second Edition

By : Roger Ye
3 (1)
Book Image

.NET MAUI Cross-Platform Application Development - Second Edition

3 (1)
By: Roger Ye

Overview of this book

An evolution of Xamarin.Forms, .NET MAUI is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that’ll run on Android, iOS, macOS, and Windows from a single shared codebase. In this revised edition of .NET MAUI Cross-Platform Application Development you will be introduced to .NET 8 and get up to speed with app development in no time. The book begins by showing you how to develop a cross-platform application using .NET MAUI, including guidance for migrating from Xamarin.Forms. You’ll gain all the knowledge needed to create a cross-platform application for Android, iOS, macOS, and Windows following an example project step by step. As you advance, you’ll integrate the latest frontend technology into your app using Blazor components, including the new Blazor Bindings feature. After this, you’ll learn how to test and deploy your apps. With new coverage on creating mock .NET MAUI components, you can develop unit tests for your application. You will additionally learn how to perform Razor component testing using bUnit. By the end of this book, you’ll have learned how to develop your own cross-platform applications using .NET MAUI.
Table of Contents (18 chapters)
Free Chapter
1
Part 1: Exploring .NET MAUI
9
Part 2: Implementing .NET MAUI Blazor
13
Part 3: Testing and Deployment
16
Other Books You May Enjoy
17
Index

Mock .NET MAUI components

In developing unit tests for .NET MAUI, we will present test case development for both XAML-based and Blazor-based apps. In both instances, we will incorporate the MVVM pattern in the design. The unit test cases at the model layer are identical for both; however, testing the view and the view model differs significantly. Developing unit test cases for the view and the view model in a XAML-based app can be quite complex. To test the view model, it is necessary to resolve the dependencies of XAML components. For instance, in the XAML version of our app, we need to invoke Shell navigation methods within the view model, as demonstrated in the following code:

await Shell.Current.GoToAsync(
  $"{nameof(ItemsPage)}?{nameof(ItemsViewModel.ItemId)}={item
  .Id}");

To address dependencies in Xamarin.Forms, an open-source project, Xamarin.Forms.Mocks, is available to help mock Xamarin.Forms components. In the case of .NET MAUI XAML apps, we require...