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.