Get in Touch

Course Outline

1. Introduction to .NET MAUI and Cross-Platform Development

  • .NET MAUI architecture and application lifecycle
  • Multi-platform project structure and single-project architecture
  • Understanding handlers, controls, layouts, and platform abstractions
  • Platform-specific code and conditional compilation
  • Dependency management and NuGet packages
  • Working with Visual Studio and the .NET CLI
  • Building and running applications across Android, iOS, Windows, and macOS
  • Exercise: Create and configure a multi-platform .NET MAUI application

2. Advanced MVVM Techniques and Patterns

  • Review of MVVM and separation of concerns
  • Advanced data binding techniques
  • Compiled bindings and binding performance
  • INotifyPropertyChanged and observable collections
  • Commands, asynchronous commands, and command parameters
  • CommunityToolkit.Mvvm and source generators
  • ViewModels, services, and state management
  • Navigation and navigation-aware ViewModels
  • Handling validation and application state
  • Exercise: Build a multi-page MVVM application with validation and asynchronous operations

3. Dependency Injection and Application Architecture

  • Built-in .NET dependency injection
  • Service lifetimes: transient, scoped, and singleton
  • Registering platform-specific and shared services
  • Constructor injection and service composition
  • Dependency inversion and loose coupling
  • Repository and service patterns
  • Managing application-wide dependencies
  • Configuration and environment-specific services
  • Exercise: Refactor an application using dependency injection

4. Deep Dive into Customizing and Extending .NET MAUI

  • Understanding handlers and the .NET MAUI rendering architecture
  • Custom handlers and platform-specific implementations
  • Mapping .NET MAUI controls to native platform controls
  • Extending existing controls
  • Creating custom controls
  • Platform-specific behavior and APIs
  • Effects, behaviors, and reusable UI extensions
  • When to use handlers, behaviors, effects, or custom controls
  • Exercise: Create and integrate a customized cross-platform control

5. Building Reusable Components and Libraries

  • Designing reusable UI components
  • Creating custom controls and ContentViews
  • Component parameterization and data binding
  • Creating reusable behaviors and converters
  • Organizing shared application functionality
  • Creating .NET class libraries for MAUI applications
  • Packaging and distributing reusable components
  • NuGet package fundamentals
  • Exercise: Build a reusable component library

6. Advanced UI/UX, Layouts, and Animations

  • Advanced layouts and responsive UI design
  • Adaptive interfaces for phones, tablets, and desktops
  • Dynamic resources and styling
  • Resource dictionaries and theme management
  • Light and dark themes
  • Visual states and state-driven UI
  • Advanced animations and transitions
  • Gesture recognition
  • Custom drawing and graphics
  • Accessibility considerations
  • Exercise: Create a responsive and animated MAUI interface

7. Handling Complex Data Scenarios

  • Consuming REST APIs from .NET MAUI
  • HTTP clients and asynchronous data access
  • JSON serialization and deserialization
  • Error handling and retry strategies
  • Local data persistence
  • SQLite and local databases
  • Repository patterns for data access
  • Offline-first application design
  • Synchronization between local and remote data
  • Conflict resolution strategies
  • Caching and cache invalidation
  • Exercise: Implement an offline-capable data-driven application

8. Performance Tuning and Optimization

  • Identifying performance bottlenecks
  • Startup-time optimization
  • Memory management and resource usage
  • Reducing unnecessary UI updates
  • Optimizing bindings and collection rendering
  • Efficient image loading and caching
  • Async programming and avoiding UI-thread blocking
  • Background processing
  • Reducing application size
  • Managing memory leaks and object lifetimes
  • Exercise: Profile and optimize an intentionally inefficient MAUI application

9. Advanced Debugging and Profiling Techniques

  • Debugging cross-platform applications
  • Breakpoints, watches, and exception handling
  • Diagnosing UI and lifecycle issues
  • Logging and structured diagnostics
  • .NET diagnostics and profiling tools
  • CPU and memory profiling
  • Detecting memory leaks
  • Investigating slow UI rendering
  • Debugging platform-specific issues
  • Using device and emulator diagnostics
  • Exercise: Diagnose and resolve common performance and runtime problems

10. Architectural Patterns and Best Practices for Large-Scale Applications

  • Choosing an appropriate application architecture
  • Clean Architecture concepts
  • Layered architecture
  • Separation of UI, business logic, and data access
  • Repository and service abstractions
  • SOLID principles in MAUI applications
  • Managing application state
  • Feature-based project organization
  • Modular application design
  • Scalability and maintainability considerations
  • Exercise: Design the architecture of a production-scale MAUI application

11. Advanced Testing Strategies

  • Unit testing ViewModels and services
  • Testing business logic independently of the UI
  • Mocking dependencies
  • Testing asynchronous code
  • Testing navigation and application state
  • UI and integration testing concepts
  • Testable application architecture
  • Continuous integration considerations
  • Exercise: Create a test suite for a MAUI application

12. Security in .NET MAUI Applications

  • Secure application architecture
  • Securely storing sensitive information
  • Authentication and authorization
  • Token management
  • API security considerations
  • Protecting locally stored data
  • Secure communication with backend services
  • Handling credentials and secrets
  • Common mobile application security risks
  • Exercise: Implement secure authentication and credential storage

13. Application Deployment and Distribution

  • Building applications for different platforms
  • Release versus Debug configurations
  • Application signing and certificates
  • Android application packaging
  • iOS application deployment concepts
  • Windows application packaging
  • Versioning and release management
  • Environment-specific configuration
  • Publishing applications to app stores
  • CI/CD considerations for MAUI projects
  • Exercise: Prepare a MAUI application for production deployment

14. Latest .NET MAUI and Visual Studio Features

  • Recent .NET MAUI improvements and changes
  • New controls, APIs, and development capabilities
  • Improvements to handlers and platform integration
  • Visual Studio tooling and productivity features
  • Modern .NET development practices
  • Evaluating third-party libraries and MAUI Community Toolkit features
  • Migration and upgrade considerations
  • Maintaining applications across .NET versions

15. Capstone Exercise: Building a Production-Ready .NET MAUI Application

  • Define application requirements and architecture
  • Design the MVVM structure
  • Configure dependency injection
  • Implement reusable UI components
  • Connect to remote and local data sources
  • Add caching and synchronization
  • Implement validation and error handling
  • Apply performance optimizations
  • Add security and authentication
  • Test critical application functionality
  • Prepare the application for deployment

16. Summary and Next Steps

  • Review of advanced .NET MAUI concepts
  • Common architectural and performance pitfalls
  • Recommended development practices
  • Further learning resources
  • Planning the next steps toward production-ready MAUI development
  • Q&A and discussion of participants' projects

Requirements

  • Proficiency in C# programming language
  • A solid understanding of object-oriented programming (OOP) concepts
  • Familiarity with the .NET framework

Audience

  • Developers
 14 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories