.NET Multi-platform App UI (.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 can run on Android, iOS, macOS, and Windows from a single shared code-base.
.NET MAUI is open-source and is the evolution of Xamarin.Forms, extended from mobile to desktop scenarios, with UI controls rebuilt from the ground up for performance and extensibility. If you’ve previously used Xamarin.Forms to build cross-platform user interfaces, you’ll notice many similarities with .NET MAUI. However, there are also some differences. Using .NET MAUI, you can create multi-platform apps using a single project, but you can add platform-specific source code and resources if necessary. One of the key aims of .NET MAUI is to enable you to implement as much of your app logic and UI layout as possible in a single code-base.
Course Outline
Lesson 1: Create a cross-platform app with .NET MAUI
- Introduction
- Describe the .NET MAUI architecture
- Create a .NET MAUI project in Visual Studio
- Exercise: Create your first .NET MAUI app
- Add visual controls to a .NET MAUI app
- Exercise: Create the phone number translator app
- Summary
Lesson 2: Create a UI in a .NET MAUI app by using XAML
- Introduction
- Benefits of using XAML
- Types and properties in .NET MAUI XAML
- Event handling in XAML
- Exercise: Create your first XAML page
- XAML markup extensions
- Platform-specific values in XAML
- Exercise: Add behavior to your XAML page
- Summary
Lesson 3: Customize layout in .NET MAUI XAML pages
- Introduction
- Specify the size of a view
- Exercise – Explore alignment options
- Arrange views with StackLayout
- Exercise – Use StackLayout to build a user interface
- Arrange views with Grid
- Exercise – Use Grid to build a user interface
- Summary
Lesson 4: Create a UI that uses data binding in .NET MAUI.
- Introduction
- Compare an event-driven UI to a data-bound UI
- Use data bindings in XAML
- Exercise – Replace code with .NET MAUI bindings
- Data binding with mismatched types
- Exercise – Create a .NET MAUI converter
- Summary
Lesson 5: Design an MVVM viewmodel for .NET MAUI
- Introduction
- What is MVVM?
- Use a viewmodel
- Exercise – Manage selection by using a viewmodel
- Use commands in a viewmodel
- Exercise – Convert an event handler to a command
- Summary
Lesson 6: Design consistent .NET MAUI XAML pages by using shared resources
- Introduction
- Define and use resources
- Exercise: Use page-level resources
- Use and update dynamic resources
- Exercise: Use dynamic resources to update elements
- Create a consistent UI by using styles
- Exercise: Create and apply a style
- Create and use application-wide resources
- Exercise: Use application-wide resources
- Summary
Lesson 7: Create multi-page .NET MAUI apps with tab and flyout navigation
- Introduction
- Implement flyout navigation
- Exercise: Implement flyout navigation
- Implement tab navigation with .NET MAUI Shell
- Exercise: Implement tab navigation
- Use tabbed pages with pages on the navigation stack
- Exercise: Use tabbed pages with navigation pages
- Summary
Lesson 8: Consume REST web services in .NET MAUI apps
- Introduction
- Detect network connectivity
- Consume a REST service with HttpClient
- Use platform-specific network features
- Exercise – Consume a REST service with HttpClient
- Summary
Lesson 9: Store local data with SQLite in a .NET MAUI app
- Introduction
- Compare storage options
- Store data locally with SQLite
- Exercise: Store data locally with SQLite
- Use SQLite asynchronously
- Exercise: Use SQLite asynchronously
- Summary