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 the single-project architecture
  • Understanding handlers, controls, layouts, and platform abstractions
  • Platform-specific code implementation and conditional compilation
  • Dependency management and NuGet package integration
  • Utilizing Visual Studio and the .NET CLI
  • Building and executing applications across Android, iOS, Windows, and macOS
  • Exercise: Creating and configuring a multi-platform .NET MAUI application

2. Advanced MVVM Techniques and Patterns

  • Review of MVVM principles and separation of concerns
  • Advanced data binding methodologies
  • Compiled bindings and optimizing binding performance
  • INotifyPropertyChanged and observable collections
  • Commands, asynchronous commands, and parameter handling
  • Integration of CommunityToolkit.Mvvm and source generators
  • ViewModels, service integration, and state management
  • Navigation flows and navigation-aware ViewModels
  • Managing validation and application state
  • Exercise: Building a multi-page MVVM application featuring validation and asynchronous operations

3. Dependency Injection and Application Architecture

  • In-built .NET dependency injection mechanisms
  • Service lifetimes: transient, scoped, and singleton
  • Registering platform-specific and shared services
  • Constructor injection and service composition strategies
  • Dependency inversion principles and loose coupling
  • Implementing Repository and Service patterns
  • Managing application-wide dependencies
  • Configuration and environment-specific service handling
  • Exercise: Refactoring an application to utilize dependency injection

4. Deep Dive into Customizing and Extending .NET MAUI

  • Understanding handlers and the .NET MAUI rendering architecture
  • Developing custom handlers and platform-specific implementations
  • Mapping .NET MAUI controls to native platform controls
  • Extending existing control functionalities
  • Creating bespoke custom controls
  • Managing platform-specific behaviors and APIs
  • Implementing effects, behaviors, and reusable UI extensions
  • Determining when to use handlers, behaviors, effects, or custom controls
  • Exercise: Creating and integrating a customized cross-platform control

5. Building Reusable Components and Libraries

  • Designing reusable UI component structures
  • Creating custom controls and ContentViews
  • Component parameterization and data binding strategies
  • Developing reusable behaviors and converters
  • Organizing shared application functionalities
  • Creating .NET class libraries for MAUI applications
  • Packaging and distributing reusable components
  • Fundamentals of NuGet package management
  • Exercise: Building a library of reusable components

6. Advanced UI/UX, Layouts, and Animations

  • Advanced layout strategies and responsive UI design
  • Adaptive interfaces for phones, tablets, and desktops
  • Utilizing dynamic resources and styling options
  • Managing resource dictionaries and themes
  • Implementing light and dark theme modes
  • Visual states and state-driven UI management
  • Advanced animation and transition techniques
  • Gesture recognition implementation
  • Custom drawing and graphic capabilities
  • Considerations for accessibility
  • Exercise: Creating a responsive and animated MAUI interface

7. Handling Complex Data Scenarios

  • Consuming REST APIs from within .NET MAUI
  • HTTP clients and asynchronous data access patterns
  • JSON serialization and deserialization processes
  • Error handling strategies and retry mechanisms
  • Local data persistence solutions
  • Working with SQLite and local databases
  • Applying Repository patterns for data access
  • Designing offline-first applications
  • Synchronizing local and remote data sources
  • Conflict resolution strategies
  • Caching mechanisms and cache invalidation
  • Exercise: Implementing an offline-capable, data-driven application

8. Performance Tuning and Optimization

  • Identifying performance bottlenecks
  • Optimizing startup time
  • Memory management and resource utilization
  • Minimizing unnecessary UI updates
  • Optimizing bindings and collection rendering
  • Efficient image loading and caching strategies
  • Asynchronous programming and preventing UI-thread blocks
  • Background processing techniques
  • Reducing application footprint
  • Managing memory leaks and object lifecycles
  • Exercise: Profiling and optimizing a deliberately inefficient MAUI application

9. Advanced Debugging and Profiling Techniques

  • Debugging cross-platform application issues
  • Utilizing breakpoints, watches, and exception handling
  • Diagnosing UI and lifecycle-related problems
  • Logging and structured diagnostics
  • Using .NET diagnostics and profiling tools
  • CPU and memory profiling analysis
  • Detecting memory leaks
  • Investigating slow UI rendering issues
  • Debugging platform-specific problems
  • Utilizing device and emulator diagnostics
  • Exercise: Diagnosing and resolving common performance and runtime issues

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

  • Selecting an appropriate application architecture
  • Concepts of Clean Architecture
  • Layered architecture implementation
  • Separation of UI, business logic, and data access
  • Repository and service abstractions
  • Applying SOLID principles in MAUI applications
  • Managing application state
  • Feature-based project organization
  • Modular application design
  • Considerations for scalability and maintainability
  • Exercise: Designing the architecture for a production-scale MAUI application

11. Advanced Testing Strategies

  • Unit testing ViewModels and services
  • Testing business logic independently from the UI
  • Mocking dependencies for testing
  • Testing asynchronous code segments
  • Testing navigation flows and application state
  • UI and integration testing concepts
  • Designing a testable application architecture
  • Continuous integration considerations
  • Exercise: Creating a comprehensive test suite for a MAUI application

12. Security in .NET MAUI Applications

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

13. Application Deployment and Distribution

  • Building applications for various platforms
  • Differences between Release and Debug configurations
  • Application signing and certificate management
  • Android application packaging processes
  • iOS application deployment concepts
  • Windows application packaging
  • Versioning and release management strategies
  • Environment-specific configuration setup
  • Publishing applications to app stores
  • CI/CD considerations for MAUI projects
  • Exercise: Preparing a MAUI application for production deployment

14. Latest .NET MAUI and Visual Studio Features

  • Recent improvements and changes in .NET MAUI
  • New controls, APIs, and development capabilities
  • Enhancements 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 different .NET versions

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

  • Defining application requirements and architecture
  • Designing the MVVM structure
  • Configuring dependency injection
  • Implementing reusable UI components
  • Connecting to remote and local data sources
  • Adding caching and synchronization mechanisms
  • Implementing validation and error handling
  • Applying performance optimizations
  • Adding security and authentication layers
  • Testing critical application functionalities
  • Preparing the application for deployment

16. Summary and Next Steps

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

Requirements

  • Strong proficiency in the C# programming language
  • A solid grasp of object-oriented programming (OOP) principles
  • Knowledge of the .NET framework

Target Audience

  • Software Developers
 14 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories