Call Us: +32 2 466 00 16
Email: info@u2u.be
Follow Us:

Building mobile apps with .NET Maui

5 days
UMAUI
5 days

Upcoming Sessions

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Interested in a private company training? Request it here.

Introduction to MAUI

If you have all the time and money in the world, you can build an Android app and an iOS app and maybe a Windows app in their native environment. But what if you don't have all the time in the world? How can you write an app that works on all mobile platforms? This is where MAUI comes in.

  • Mobile development options and problems
  • A uniform way for creating UIs
  • Creating a .NET MAUI project

Building the UI with XAML

XAML is the UI-language important for developers using the Microsoft developer stack. This module teaches students how to use the XAML language for building all kinds of applications, focusing on .NET MAUI.

  • What is XAML?
  • XAML versus Code
  • Looking at XAML basic syntax
  • Understanding XAML attached properties
  • Nesting controls
  • Extending XAML through markup extensions
  • Understanding namespace mapping
  • Naming elements

.NET MAUI Controls Overview

This module gives you an overview of what kinds of controls are available and how to compose them together.

  • Examining the Class Hierarchy
  • The power of composability
  • Presentation Controls, Command Controls, Editing Controls
  • Collection Controls
  • the trouble with images
  • Understanding bindable properties

Controlling the layout

Mobile hardware becomes more and more diverse: big screens, double screens, high resolutions, low resolutions, .... This does require some special up-front design. In this module students will learn the different controls to keep a nice UI on all devices.

  • Absolute positioning using AbsoluteLayout
  • Flexible positioning using FlexLayout
  • Tabular positioning with Grid
  • Relative positioning with RelativeLayout
  • Stacking controls with StackLayout
  • Frames, Scrollview and Contentviews

Reusability with Resources

How to reuse objects like colors, sizes, etc... in your application? XAML has re-use built in, so in this module students will learn how to re-use objects for their applications.

  • Re-using Objects through Resources
  • Resource Inheritance
  • Resource Dictionaries
  • Theming your application
  • Multi-lingual applications

Styles and Templates

How do you apply a style to your whole application ? Xaml makes this easy with styles and templates. In this module students will learn how to quickly customize their whole application with styles and templates.

  • Why we need Styles
  • Default, Implicit and Explicit Styles
  • Dynamic and Device styles
  • Styling using CSS
  • Theming an application
  • Introduction to control templates
  • Control Renderers
  • Effects

Data Binding

In many cases some data needs to be displayed to the user. Changes in data need to be validated and captured efficiently. In this module students will learn how to use data binding to accomplish this.

  • The Need for Data Binding
  • Binding to Properties
  • Converting Data for Data Binding
  • Binding to Collections
  • Understanding Source and DataContext
  • Cell templates
  • Data Templates
  • Filtering, Sorting and Grouping
  • Compiled Bindings

Building Adaptive and Scalable Layouts

Multiple screen-size, portrait-mode, landscape-mode. How do we make a screen that looks good, and which adapts when you turn your screen ? You'll learn all about it in this chapter.

  • Fixed Versus Adaptive Layout
  • Working with the ViewStateManager and Adaptive Triggers

Navigation

An application with only one screen ? It happens, but most application have multiple screens. How do you jump between screens, how do you pass information between screens?

  • Navigation in .NET MAUI
  • NavigationPage, TabbedPage, CarouselPage, FlyoutPage and modal pages
  • Shell Applications
  • Route-based navigation in Shell

Adding Device specific features

The fact remains that you are developing for different platforms with different possibilities and a lot of differences. How can you deal with that ?

  • Shared Projects
  • Dependency Injection
  • .NET MAUI Dependency Service
  • Effects
  • Using Platform specific controls

.NET MAUI Essentials

.NET MAUI Essentials is a library that helps you overcome the difference on the different platforms. Some functionalities normally need to be implemented against the different platforms. Essentials already has a whole bunch of functionalities covered for you.

  • Clipboard, Compass, Contacts, Device Information, Email
  • File Picker, Geolocation
  • Phone Dialer, Preferences, Secure Storage, Web Authenticator

Process Lifecycle Management

Applications start and stop constantly. Sometimes you need to save some state for fetching again later. We'll see how to do that here

  • When Apps run
  • Handling Resume, Suspend and Termination
  • Supporting Different App Activation Scenarios
  • Splash Screens

Running in the background

Spotify keeps playing music, even when you don't see it on the screen. Runkeeper keeps tracking your speed, and location while not being active on the screen. Let's find out how your app can do that.

  • Application Lifecycle
  • Platform-specific considerations
  • Android's activity life cycle and Services
  • iOS backgrounding techniques
  • Backgrounding in Windows

Storing data

An application that downloads data to show you, every time you open it. How slow would that be? And what do you do with the entered data, when you are offline ? Store data on the device itself might help you in those scenarios.

  • Local storage
  • Working with SQLite
  • Using Entity Framework Core

Consuming Web Services

How to talk to webservices for getting and sending data? You'll learn all about it in this chapter

  • HttpClient and WebHttpRequest Class
  • Serialization and Deserialization

Data Validation

User input needs to be validated. Are all required properties provided? Do the values match the format? In this chapter you will see several options for validation.

  • INotifyDataErrorInfo
  • Data Annotations
  • Validation through events
  • Validation Templates

MVVM and MVU

MVVM is a design pattern which is very popular with technologies relying on declarative databinding, like XAML

  • What is the MVVM Pattern?
  • Using Commands instead of Event Handling
  • Defining the Model
  • Adding the ViewModel
  • Binding the View to the ViewModel
  • MVU: Mode-View-Update

Notifications

Everybody hates those constant on-screen notifications. Learn how to be annoying in this module!

  • Platform-specific notification mechanisms
  • Local notifications
  • Push notifications

Creating a mobile app is seldom creating one app. It's creating one app per platform. Learning different platforms is time consuming. MAUI allows us to do this in a much more efficient way. One language to rule them all: C#, while staying true to the platform. And only one UI paradigm to learn, in which we create the UI only once using XAML. MAUI, which evolved from Xamarin Forms, is based upon .NET 6. By combining reusable C# code and MAUI UI, MAUI is able to create cross-platform native apps with all the features and power of the native platforms.

Participants of this course need to have a good understanding of C# and a notion of mobile app development.

Contact Us
  • Address:
    U2U nv/sa
    Z.1. Researchpark 110
    1731 Zellik (Brussels)
    BELGIUM
  • Phone: +32 2 466 00 16
  • Email: info@u2u.be
  • Monday - Friday: 9:00 - 17:00
    Saturday - Sunday: Closed
Say Hi
© 2021 U2U All rights reserved.