Linked e-resources
Details
Table of Contents
Intro
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Part I: Getting to Know .NET MAUI
Chapter 1: Introduction to .NET MAUI
What is .NET MAUI?
Digging a Bit Deeper
Where Did It Come From?
How It Differs From the Competition
Why Use .NET MAUI?
Supported Platforms
Code Sharing
Developer Freedom
Community
Fast Development Cycle
.NET Hot Reload
XAML Hot Reload
Performance
Strong Commercial Offerings
Limitations of .NET MAUI
No Web Assembly (WASM) Support
No Camera API
Apps Won't Look Identical on Each Platform
Lack of Media Playback Out of the Box
The Glass Is Half Full, Though
How to Build .NET MAUI Applications
Visual Studio
Visual Studio (Windows)
Visual Studio for Mac
Rider
Visual Studio Code
Summary
Chapter 2: Building Our First application
Setting Up Your Environment
macOS
Visual Studio for Mac
Xcode
Remote Access
Windows
Visual Studio
Visual Studio to macOS
Troubleshooting Installation Issues
.NET MAUI Workload Is Missing
Visual Studio Installer
Command Line
Creating Your First Application
Creating in Visual Studio
Creating in the Command Line
Building and Running Your First Application
Getting to Know Your Application
WidgetBoard
Summary
Source Code
Chapter 3: The Fundamentals of .NET MAUI
Project Structure
/Platforms/ Folder
Android
iOS
MacCatalyst
Tizen
Windows
Summary
/Resources/ Folder
Fonts
Images
Raw
Where To Begin?
Generic Host Builder
What Is Dependency Injection?
Registering Dependencies
AddSingleton
AddTransient
AddScoped
Application Lifecycle
Application States
Lifecycle Events
Handling Lifecycle Events
Cross-Platform Mappings to Platform Lifecycle Events
Platform-Specific Lifecycle Events
Android
iOS and MacCatalyst
Windows
Summary
Chapter 4: An Architecture to Suit You
A Measuring Stick
Prerequisites
Model View ViewModel (MVVM)
Model
View
XAML
C# (Code-Behind)
ViewModel
Model View Update (MVU)
Getting Started with Comet
Adding Your MVU Implementation
XAML vs. C# Markup
Plain C#
C# Markup
Chosen Architecture for This Book
Adding the ViewModels
Adding IWidgetViewModel
Adding BaseViewModel
Adding ClockWidgetViewModel
Adding Views
Adding IWidgetView
Adding ClockWidgetView
Viewing Your Widget
Modifying MainPage.xaml
Modifying MainPage.xaml.cs
Taking the Application for a Spin
MVVM Enhancements
MVVM Frameworks
Magic
Summary
Source Code
Part II: User Interface
Chapter 5: User Interface Essentials
Prerequisites
Models
BaseLayout.cs
FixedLayout.cs
Board.cs
Pages
BoardDetailsPage
FixedBoardPage
ViewModels
AppShellViewModel
BoardDetailsPageViewModel
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Part I: Getting to Know .NET MAUI
Chapter 1: Introduction to .NET MAUI
What is .NET MAUI?
Digging a Bit Deeper
Where Did It Come From?
How It Differs From the Competition
Why Use .NET MAUI?
Supported Platforms
Code Sharing
Developer Freedom
Community
Fast Development Cycle
.NET Hot Reload
XAML Hot Reload
Performance
Strong Commercial Offerings
Limitations of .NET MAUI
No Web Assembly (WASM) Support
No Camera API
Apps Won't Look Identical on Each Platform
Lack of Media Playback Out of the Box
The Glass Is Half Full, Though
How to Build .NET MAUI Applications
Visual Studio
Visual Studio (Windows)
Visual Studio for Mac
Rider
Visual Studio Code
Summary
Chapter 2: Building Our First application
Setting Up Your Environment
macOS
Visual Studio for Mac
Xcode
Remote Access
Windows
Visual Studio
Visual Studio to macOS
Troubleshooting Installation Issues
.NET MAUI Workload Is Missing
Visual Studio Installer
Command Line
Creating Your First Application
Creating in Visual Studio
Creating in the Command Line
Building and Running Your First Application
Getting to Know Your Application
WidgetBoard
Summary
Source Code
Chapter 3: The Fundamentals of .NET MAUI
Project Structure
/Platforms/ Folder
Android
iOS
MacCatalyst
Tizen
Windows
Summary
/Resources/ Folder
Fonts
Images
Raw
Where To Begin?
Generic Host Builder
What Is Dependency Injection?
Registering Dependencies
AddSingleton
AddTransient
AddScoped
Application Lifecycle
Application States
Lifecycle Events
Handling Lifecycle Events
Cross-Platform Mappings to Platform Lifecycle Events
Platform-Specific Lifecycle Events
Android
iOS and MacCatalyst
Windows
Summary
Chapter 4: An Architecture to Suit You
A Measuring Stick
Prerequisites
Model View ViewModel (MVVM)
Model
View
XAML
C# (Code-Behind)
ViewModel
Model View Update (MVU)
Getting Started with Comet
Adding Your MVU Implementation
XAML vs. C# Markup
Plain C#
C# Markup
Chosen Architecture for This Book
Adding the ViewModels
Adding IWidgetViewModel
Adding BaseViewModel
Adding ClockWidgetViewModel
Adding Views
Adding IWidgetView
Adding ClockWidgetView
Viewing Your Widget
Modifying MainPage.xaml
Modifying MainPage.xaml.cs
Taking the Application for a Spin
MVVM Enhancements
MVVM Frameworks
Magic
Summary
Source Code
Part II: User Interface
Chapter 5: User Interface Essentials
Prerequisites
Models
BaseLayout.cs
FixedLayout.cs
Board.cs
Pages
BoardDetailsPage
FixedBoardPage
ViewModels
AppShellViewModel
BoardDetailsPageViewModel