SECTION 1 - Getting to know .NET MAUI Chapter 1: Introduction to .NET MAUI? Goal: To gain an understanding of what .NET MAUI is, what functionality it does and does not offer, and what environment would be required to create and build an application. 1.1 What is .NET MAUI 1.2 Why use .
NET MAUI 1.3 How to build .NET MAUI Chapter 2: Building our first application Goal: To guide the reader through configuring their development environment, then use that environment to create their first application and finally touch on some techniques on debugging and updating the application through the development phase. 2.1 Setting up our environment 2.2 Creating our first application 2.3 Building and running our first application Chapter 3: The fundamentals of .NET MAUI Goal: To breakdown the initially created application and explain the key components that we will use to build on throughout the rest of the book.
3.1 Project structure [Possibly at end of chapter 2] 3.2 Where to begin (the app entry point) 3.3 Application lifecycle 3.4 Considerations for bigger projects SECTION 2 - User Interface Chapter 4: An architecture to suit you Goal: To show off the many possible architecture choices for building user interfaces and help the reader find their preferred approach. 4.1 MVVM 4.2 MVU 4.
3 XAML vs C# Markup 4.4 Chosen approach for this book Chapter 5: The basics Goal: To cover the key building blocks that all developers will need exposure to when building application user interfaces. 5.1 App icon 5.2 Splash screen 5.3 XAML 5.4 Layouts 5.5 Aesthetics (Shadows, Corner Radius, etc.
) 5.6 Data Binding 5.7 Converters 5.8 Triggers Chapter 6: Navigation Goal: Navigation in apps is a fundamental concept. This chapter will show off the current possibilities within MAUI and show off some alternatives. 6.1 Overview 6.2 Shell 6.
3 INavigation 6.4 Alternatives Chapter 7: Advanced UI concepts Goal:To show how some more complex scenarios can be achieved using some more advanced concepts. 7.1 Styling 7.2 Behaviors 7.3 Animations 7.4 Graphics 7.5 Localization 7.
6 Multi Window support Chapter 8: Accessibility Goal: To explain why we should be building accessible applications and to show concrete examples of how to do this. 8.1 Why make our applications accessible? 8.2 Semantics 8.3 Other considerations Chapter 9: Blazor Goal: To provide an overview on how some web related technologies can aid the readers development especially if they come from a web background. 9.1 What is Blazor? 9.2 How does it work in .
NET MAUI SECTION 3 - Behind the scenes Chapter 10: Local data Goal: To explain the different types of local data, where they are best stored and walkthrough examples to show this in action. 10.1 The different types of local data 10.2 Application settings 10.3 Secure storage 10.4 Database Chapter 11: Remote data Goal: To explain the different types of remote data, where they are best stored and walkthrough examples to show this in action. 11.1 The different types of remote data 11.
2 Webservices 11.3 Simplifying webservice access 11.4 Streaming audio/video data SECTION 4 - Platform specifics Chapter 12: Forget specifics Goal: Show the reader how a lot of platform specific functionality is already wrapped up for them inside MAUI Essentials. 12.1 .NET MAUI Essentials 12.2 Practical uses of Essentials Chapter 13: Getting specific Goal: To show the reader that when the time finally comes for them to write some platform specific code, exactly what steps to follow. 13.
1 Handlers 13.2 Platform specific API access Chapter 14: Performance Goal: To explain some areas where performance can be affected and offer some best practises to follow. 14.1 Visual simplicity (keeping the visual tree simple) 14.2 Tidying up after ourselves Chapter 15: Testing Goal: To give the reader an overview of the testing possibilities with .NET MAUI applications. 15.1 Unit testing 15.
2 Automated testing SECTION 5 - Ready for production Chapter 16: Linking Goal: To give a brief overview of what linking entails and the common issues that can be introduced in order to aid troubleshooting them in the future. 16.1 What is linking? 16.2 How to work through issues that comes with linking Chapter 17: Deploying locally Goal: To show how applications can be deployed to specific targets that can allow for debugging and testing. 17.1 Android 17.2 iOS 17.3 macOS 17.
4 Windows Chapter 18: Distributing our application Goal: To show how applications can be distributed to the relevant application stores (e.g. App Store, Google Play Store, etc.). 18.1 Android 18.2 iOS 18.3 macOS 18.
4 Windows SECTION 6 - Further enhancements Chapter 19: Migrating from Xamarin Forms Goal: to provide both existing Xamarin.Forms developers and aid the target audience in understanding the differences between the two frameworks. The intention is to provide some understanding of the differences to assist in converting the vast Xamarin.Forms information over to their scenarios. Also look to show off the compatibility layer that is designed to simplify the migration. Chapter 20: Excellent third party packages Goal: to cover the packages available that will help developers build their apps. Where possible chapters will aim to expose valuable packages however, those that do not make it still deserve to acknowledged.