EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

NET MAUI for C# Developers

Course outline

5 days

Duration

.NET MAUI for C# Developers

5 days

Prerequisites

  • Must Have Good Understanding of C#/.NET Programming Concepts.
  • Must Have Good Understanding of OOPS Concepts
  • Basic Knowledge of OS X usage and navigation would be desired, not mandatory.

Objective

  • Understanding the .NET Multi Platform App Development
  • Using Visual Studio to develop Cross-platform Mobile Apps
  • Understanding the .NET MAUI UI design system
  • Writing the common business logic for Multi Platforms
  • Debugging and Crash resolutions

Hardware/Software Requirements

  • Mac OS X Machines with latest Xcode installed and updated.
  • Visual Studio 2022 installed with .NET MAUI component
  • Android 4.2.2 and Android 5.0 SDKs ( and other Client’s targeted Kits if any) installed (Auto instals when installing Visual Studio 2019 (Community works)
  • Windows 10/11 with Visual Studio 2022 installed with .NET MAUI component

Important Note

  • Mac Machines with Latest Xcode and Visual Studio 2022 is necessary for Building and Running apps on iOS
  • If using Windows - iOS Apps cannot be tested without a connected Mac
  • Mac Machines cannot compile Windows Code. For Windows Apps, Windows Machine is required.

Day 1

  • Understanding .NET MAUI as a development Kit.
  • Architecture of .NET MAUI solution
  • .NET MAUI App Structure
  • Enabling/disabling support for different platforms
  • .NET MAUI
  • Introduction to MAUI
  • The All new Resources Folder
  • Styles, Colors and Themes
  • Fonts
  • Raw Assets - New API for accessing Assets from Resources
  • Image Resources
  • The Platform Folder
  • Introduction to UI
  • UI Controls/Elements in MAUI
  • Labels, Buttons, Images,
  • Element Attributes
  • Layouts in MAUI - Stack, Grid, Flex, Absolute
  • The Border, Shapes, Brushes
  • The all new GraphicsView
  • Creating Custom Controls

Day 2

  • Data Binding and MVVM
  • Data Binding Basics
  • INotifyProperty Changed - BaseViewModel Implementation
  • Commands, Behaviors, Triggers, Converters
  • Understanding the data binding with ListViews/CollectionView
  • Binding View Models classes
  • ListView/CollectionView Interaction
  • Customizing List Views / CollectionView
  • Template Selectors
  • Using the new MVVM Community toolkit
  • The Relay and Async Relay Command
  • Using the New Community Toolkit for Converter, Behaviors, Components,
  • The MAUI Dependency Injection
  • Registering Views and ViewModels
  • The All new Dependency Injection in MAUI
  • Service/Interface Registration
  • Consuming the Dependency

Day 3

  • The Project
  • The Project contains 5 pages to be built with MAUI Controls and Pages
  • Login (API Call)
  • Register (Navigation)
  • Home (Displays Users/Places)
  • Detail (Data Transfer with Navigation)
  • Profile - (API Call)
  • Add/Edit User/Place (Data transfer back with Navigation)
  • Will learn about Project Theming, Colors, Styling, API calls, Navigation, Data transfer, Handlers, Native API calls, Conditional Compilation, Essentials, Network Access, Media Access,
  • Web Services
  • Accessing Web Services/REST API
  • Getting data from Get and Post request and Serializing the data.
  • Integrating the API with the Project UI created above
  • Shell Navigation
  • What’s new in MAUI Shell
  • Removing the Shell to revert back to ViewModel Navigation
  • Managing Tabs, Flout Items, Sub Tabs, Menus etc in Shell
  • Routing in MAUI
  • Registering the Routes
  • Passing Data in Shell (QueryProperty and Parameters)
  • Returning Data backwards

Day 4

  • MAUI Component Customization
  • Reusing the Existing Xamarin Components and Layouts
  • Reusing Existing Custom Renderers in MAUI
  • Converting Renderers to Handlers
  • Conditional Compilation of Native API
  • Creating Handlers using Handler Lifecycle Events
  • Understanding Handlers and Mappers to create Custom Components
  • Access the Native API using Partial Class implementation (Avoiding Conditional Compilations)
  • Accessing Native Implementation of Interfaces
  • Consuming New Application Lifecycle events

Day 5

  • Database Access
  • The Native Directory Structures
  • Using SQLite For Building Database (Sync and Async)
  • Accessing Application Resources and Application Data folders
  • CRUD Operations on Database ,
  • Binding the Operation in UI
  • MAUI Essentials
  • Glance over the Essentials API
  • New Features for desktop components
  • Wrap Up
  • Optimizing the Compile Resources and Libraries
  • Tweaking the compiler settings for Processing
  • Performance Optimization, tuning and Practices
  • Unit Testing MAUI Apps
  • Archiving and Publishing

Optional Component - Added if needed

  • MAUI BlazerView
  • Understanding the BlazerWebView
  • Understanding the App capabilities.
  • Creating Custom Reusable Components and Adding to Navigation
  • Data Binding in Components
  • Understanding ViewModel data consumption in BlazerWebView
  • Steps to Add BlazerWebView in .MAUI App.

Programme scope, delivery arrangements and suitability are confirmed during enquiry.