Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
1. Introduction to .NET MAUI and Cross-Platform Development
- .NET MAUI architecture and the application lifecycle
- Multi-platform project structure and single-project architecture
- Understanding handlers, controls, layouts, and platform abstractions
- Platform-specific coding and conditional compilation
- Dependency management and the use of NuGet packages
- Utilizing Visual Studio and the .NET CLI
- Building and executing 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 principles and separation of concerns
- Advanced data binding techniques
- Compiled bindings and optimizing binding performance
- Utilizing
INotifyPropertyChangedand observable collections - Implementing commands, asynchronous commands, and command parameters
- Leveraging CommunityToolkit.Mvvm and source generators
- Managing ViewModels, services, and application state
- Navigation flows and navigation-aware ViewModels
- Handling validation and managing application state
- Exercise: Build a multi-page MVVM application featuring validation and asynchronous operations
3. Dependency Injection and Application Architecture
- Utilizing the built-in .NET dependency injection system
- Understanding service lifetimes: transient, scoped, and singleton
- Registering both platform-specific and shared services
- Constructor injection and service composition
- Dependency inversion principles and loose coupling
- Repository and service design patterns
- Managing application-wide dependencies
- Configuration and environment-specific service management
- Exercise: Refactor an existing application to utilize dependency injection
4. Deep Dive into Customizing and Extending .NET MAUI
- Understanding handlers and the .NET MAUI rendering architecture
- Implementing custom handlers and platform-specific logic
- Mapping .NET MAUI controls to native platform controls
- Extending the functionality of existing controls
- Developing fully custom controls
- Integrating platform-specific behavior and APIs
- Implementing effects, behaviors, and reusable UI extensions
- Determining 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 highly reusable UI components
- Creating custom controls and ContentViews
- Component parameterization and advanced data binding
- Developing reusable behaviors and converters
- Organizing shared application functionality effectively
- Creating .NET class libraries for MAUI applications
- Packaging and distributing reusable components
- Foundations of NuGet packaging
- Exercise: Build a comprehensive reusable component library
6. Advanced UI/UX, Layouts, and Animations
- Advanced layout strategies and responsive UI design
- Creating adaptive interfaces for phones, tablets, and desktops
- Utilizing dynamic resources and styling
- Managing resource dictionaries and themes
- Implementing light and dark mode themes
- Visual states and state-driven UI logic
- Advanced animations and transition effects
- Gestural recognition and interaction
- Custom drawing and graphics implementation
- Addressing accessibility considerations
- Exercise: Create a responsive and animated MAUI interface
7. Handling Complex Data Scenarios
- Consuming REST APIs from .NET MAUI applications
- Utilizing HTTP clients and asynchronous data access patterns
- JSON serialization and deserialization processes
- Robust error handling and retry strategies
- Implementing local data persistence
- Working with SQLite and local database solutions
- Applying repository patterns for data access
- Designing offline-first application architectures
- Synchronizing local and remote data sources
- Strategies for conflict resolution
- Implementing caching mechanisms and cache invalidation
- Exercise: Implement an offline-capable data-driven application
8. Performance Tuning and Optimization
- Identifying and resolving performance bottlenecks
- Optimizing application startup time
- Managing memory and resource usage efficiently
- Minimizing unnecessary UI updates
- Optimizing data bindings and collection rendering
- Efficient image loading and caching strategies
- Async programming patterns to avoid UI-thread blocking
- Implementing background processing tasks
- Reducing overall application size
- Managing memory leaks and object lifetimes
- Exercise: Profile and optimize an intentionally inefficient MAUI application
9. Advanced Debugging and Profiling Techniques
- Debugging strategies for cross-platform applications
- Utilizing breakpoints, watches, and exception handling
- Diagnosing UI and application lifecycle issues
- Implementing logging and structured diagnostics
- Leveraging .NET diagnostics and profiling tools
- Conducting CPU and memory profiling
- Detecting and resolving memory leaks
- Investigating slow UI rendering issues
- Debugging platform-specific anomalies
- Using device and emulator diagnostics effectively
- Exercise: Diagnose and resolve common performance and runtime problems
10. Architectural Patterns and Best Practices for Large-Scale Applications
- Selecting the most appropriate application architecture
- Concepts of Clean Architecture
- Implementing layered architecture
- Strict separation of UI, business logic, and data access
- Repository and service abstraction patterns
- Applying SOLID principles within MAUI applications
- Managing complex application state
- Organizing projects based on features
- Designing modular applications
- Considering scalability and long-term maintainability
- Exercise: Design the architecture for a production-scale MAUI application
11. Advanced Testing Strategies
- Unit testing ViewModels and service layers
- Testing business logic independently of the UI
- Mocking dependencies for isolation
- Testing asynchronous code patterns
- Testing navigation flows and application state
- Concepts in UI and integration testing
- Designing testable application architectures
- Considerations for continuous integration pipelines
- Exercise: Create a comprehensive test suite for a MAUI application
12. Security in .NET MAUI Applications
- Designing secure application architectures
- Securely storing sensitive information
- Implementing authentication and authorization
- Managing tokens securely
- API security best practices
- Protecting locally stored data
- Ensuring secure communication with backend services
- Handling credentials and secrets appropriately
- Mitigating common mobile application security risks
- Exercise: Implement secure authentication and credential storage
13. Application Deployment and Distribution
- Building applications for various target platforms
- Differences between Release and Debug configurations
- Application signing and certificate management
- Packaging for Android applications
- Concepts in iOS application deployment
- Windows application packaging
- Versioning and release management strategies
- Configuring environment-specific settings
- Publishing applications to app stores
- CI/CD pipeline considerations for MAUI projects
- Exercise: Prepare a MAUI application for production deployment
14. Latest .NET MAUI and Visual Studio Features
- Reviewing recent .NET MAUI improvements and changes
- Exploring new controls, APIs, and development capabilities
- Advancements in handlers and platform integration
- Visual Studio tooling and productivity enhancements
- Modern .NET development practices
- Evaluating third-party libraries and MAUI Community Toolkit features
- Considerations for migration and upgrades
- Maintaining applications across different .NET versions
15. Capstone Exercise: Building a Production-Ready .NET MAUI Application
- Defining application requirements and architectural strategy
- 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 robust error handling
- Applying performance optimizations
- Integrating security and authentication features
- Testing critical application functionality
- Preparing the application for final deployment
16. Summary and Next Steps
- Review of key advanced .NET MAUI concepts
- Identifying common architectural and performance pitfalls
- Recommended development best practices
- Curated further learning resources
- Planning next steps toward production-ready MAUI development
- Q&A and discussion of participants' specific projects
Requirements
- Strong proficiency in the C# programming language
- A thorough grasp of object-oriented programming (OOP) concepts
- Working familiarity with the .NET framework
Target Audience
- Software Developers
14 Hours
Testimonials (3)
Everything is ok.
Adrian Rybka - SEOyon
Course - Flutter Development Bootcamp with Dart
Very usefull additional informations
Grzegorz - Comp S.A.
Course - BLoC Pattern
Developing the User Auth App and the kahoot activity (made myself sure that i'm absorbing the training lectures :) and its fun!)