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
INotifyPropertyChangedand 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
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 2900 € + VAT*
Contact us for an exact quote and to hear our latest promotions
Testimonials (5)
The topic in general, the group dynamics,
David Silva Santiago - INSTITUTO MEXICANO DEL PETROLEO
Course - Advanced .NET MAUI
Machine Translated
The course interaction
Marco Aurelio Tellez Quijano - INSTITUTO MEXICANO DEL PETROLEO
Course - Advanced .NET MAUI
Machine Translated
the mastery of the topic by the instructor
Patricia Fernandez Nicolas - INSTITUTO MEXICANO DEL PETROLEO
Course - Advanced .NET MAUI
Machine Translated
As this is a new topic for me, I liked everything, and in fact, I will apply it in a project that I am developing
CARLOS MANUEL CRUZ MALERVA - INSTITUTO MEXICANO DEL PETROLEO
Course - Advanced .NET MAUI
Machine Translated
The exercises, the practical application of the topics
Leonardo Perez Tays - INSTITUTO MEXICANO DEL PETROLEO
Course - Advanced .NET MAUI
Machine Translated