liveBook · Manning

What you will learn in .NET MAUI in Action

by Matthew Goldman

Chapter by chapter

Chapter 1: Introducing .NET MAUI

1.1 How did we get here? · 1.2 What is .NET MAUI? · 1.3 Cross-platform vs. “native” apps · 1.4 .NET MAUI and the .NET ecosystem · 1.5 .NET MAUI development paradigms · 1.6 Summary

What you learn in chapter 1 →

Chapter 2: Building a .NET MAUI app

2.1 Saying “Aloha, World!” with .NET MAUI · 2.1.1 Visual Studio 2022 · 2.1.2 .NET CLI overview · 2.1.3 .NET CLI in action · 2.2 Running and debugging your app · 2.2.1 Visual Studio for Windows · 2.2.2 Visual Studio for Mac · 2.2.3 .NET CLI · 2.3 Anatomy of a .NET MAUI app · 2.4 Seeing real-time changes with Hot Reload · 2.4.1 Visual Studio for Windows · 2.4.2 Visual Studio for Mac · 2.5 Summary

What you learn in chapter 2 →

Chapter 3: Making .NET MAUI apps interactive

3.1 Using OS and device features · 3.1.1 Android metadata · 3.1.2 iOS metadata · 3.1.3 Windows metadata · 3.2 The FindMe! UI · 3.3 Persisting data on your user’s device · 3.4 Data binding: Connecting the UI to the code · 3.4.1 View-to-view bindings · 3.4.2 Collections and bindings in code · 3.4.3 ItemsSource bindings in XAML · 3.5 Summary

What you learn in chapter 3 →

Chapter 4: Controls

4.1 What do we mean by “views”? · 4.2 Cross-platform controls · 4.2.1 Displaying information · 4.2.2 Accepting input · 4.2.3 Accepting commands · 4.2.4 Displaying graphics · 4.3 Displaying lists and collections · 4.3.1 CollectionView · 4.3.2 ListView · 4.3.3 CarouselView and IndicatorView · 4.3.4 TableView · 4.4 Common properties and control modifiers · 4.4.1 Height and Width · 4.4.2 Clipping · 4.4.3 Borders · 4.4.4 Shadows · 4.4.5 Gesture recognizers · 4.4.6 RefreshView · 4.4.7 SwipeView · 4.5 Summary

What you learn in chapter 4 →

Chapter 5: Layouts

5.1 Grid · 5.1.1 Grid basics · 5.1.2 Building MauiCalc · 5.1.3 Row and column sizing · 5.2 ScrollView · 5.3 HorizontalStackLayout and VerticalStackLayout · 5.4 FlexLayout · 5.5 Summary

What you learn in chapter 5 →

Chapter 6: Advanced layout concepts

6.1 Thinking in grids · 6.2 BindableLayout · 6.2.1 Creating the MauiMovies MainPage · 6.2.2 Creating the popup pages · 6.2.3 Showing the popup pages · 6.3 Absolute layout · 6.4 Putting it all together · 6.4.1 Adding the app’s shared resources · 6.4.2 Defining the UI as a Grid · 6.4.3 Creating the title bar with FlexLayout · 6.4.4 Creating the filter bar with FlexLayout · 6.4.5 Using Grid to create a FAB · 6.4.6 Building a tab bar with Grid · 6.4.7 Populating dummy data · 6.4.8 Displaying the messages with CollectionView · 6.5 Summary

What you learn in chapter 6 →

Chapter 7: Pages and navigation

7.1 ContentPage · 7.2 Common page properties · 7.2.1 IconImageSource · 7.2.2 Background Images · 7.2.3 Padding · 7.2.4 Title · 7.2.5 MenuBarItems · 7.3 Common page lifecycle methods · 7.3.1 OnAppearing · 7.3.2 OnDisappearing · 7.3.3 OnNavigatedTo and OnNavigatedFrom · 7.3.4 OnSizeAllocated · 7.3.5 BackButtonPressed · 7.4 Navigation in .NET MAUI · 7.4.1 Scenario: The MauiStockTake app · 7.4.2 Features of the MauiStockTake app · 7.4.3 Hierarchical navigation · 7.4.4 Flyout navigation · 7.4.5 Tabbed navigation · 7.5 Introducing Shell · 7.5.1 The flyout menu · 7.5.2 Tabs · 7.5.3 Getting started with MauiStockTake · 7.5.4 Routes and navigation · 7.5.5 Route parameters · 7.6 Summary

What you learn in chapter 7 →

Chapter 8: Enterprise app development

8.1 Moving logic to services · 8.1.1 Defining requirements · 8.1.2 Implementing the authentication service · 8.2 Using the generic host builder and dependency injection · 8.2.1 Registering resources, services, and other dependencies · 8.2.2 Consuming services · 8.3 Consuming web services · 8.3.1 Adding the client project · 8.3.2 Using a delegating handler · 8.3.3 Using IHttpClientFactory · 8.3.4 Adding the remaining MauiStockTake services · 8.4 Full-stack app architecture · 8.4.1 Project Organization · 8.4.2 Sharing code between projects in the solution · 8.4.3 Sharing code between solutions · 8.5 Summary

What you learn in chapter 8 →

Chapter 9: The MVVM Pattern

9.1 Refactoring the MauiTodo app for MVVM · 9.2 Using behaviors to augment your controls · 9.3 What is MVVM? · 9.3.1 The Model · 9.3.2 The View · 9.3.3 The ViewModel · 9.3.4 Binding from Views to ViewModels · 9.3.5 Putting it all together · 9.4 The MauiStockTake app without MVVM · 9.5 The MauiStockTake app in MVVM · 9.5.1 The Model · 9.5.2 The ViewModel · 9.5.3 The View · 9.5.4 Adding the Search functionality · 9.5.5 Adding the inventory functionality · 9.6 Reviewing the MauiStockTake app so far · 9.7 Summary

What you learn in chapter 9 →

Chapter 10: Styles, themes, and multiplatform layouts

10.1 Creating a consistent look and feel · 10.1.1 Styles · 10.1.2 Themes · 10.2 Responding to state changes · 10.2.1 Triggers · 10.2.2 Visual state manager · 10.3 Multiplatform Apps · 10.3.1 Adding the report page · 10.3.2 Multiplatform layouts · 10.3.3 Features of desktop apps · 10.4 Summary

What you learn in chapter 10 →

Chapter 11: Beyond the basics: Custom controls

11.1 Using ContentView · 11.1.1 Building the custom stepper layout · 11.1.2 Improving the custom stepper’s UX · 11.2 Bindable properties · 11.2.1 Adding the Value property · 11.2.2 Adding the IsEnabled property · 11.3 Modifying platform controls with handlers · 11.3.1 Handler architecture · 11.3.2 Overriding handler mappings · 11.3.3 Implementing custom handler logic · 11.3.4 Updating the custom stepper · 11.4 Creating and sharing control libraries · 11.5 Summary

What you learn in chapter 11 →

Chapter 12: Deploying apps to production with GitHub Actions

12.1 App icons, splash screens, and app identifiers · 12.1.1 Replacing the default app icon · 12.1.2 App icon composition · 12.1.3 App icon resizing · 12.1.4 Replacing the default splash screen · 12.1.5 Application identifiers and version numbers · 12.2 Deploying apps with GitHub Actions · 12.2.1 Setting up the workflow · 12.2.2 Build and sign the Android job · 12.2.3 Build and sign iOS job · 12.2.4 Deploy to stores job · 12.3 Next steps · 12.4 Summary

What you learn in chapter 12 →

Concepts explained in this book

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.