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
- Exploring handlers, controls, layouts, and platform abstractions
- Implementing platform-specific code and conditional compilation
- Managing dependencies and NuGet packages
- Utilizing Visual Studio and the .NET CLI
- Building and running applications on Android, iOS, Windows, and macOS
- Exercise: Create and configure a multi-platform .NET MAUI application
2. Advanced MVVM Techniques and Patterns
- Revisiting MVVM and the principle of separation of concerns
- Advanced data binding strategies
- Compiled bindings and optimizing binding performance
INotifyPropertyChangedand observable collections- Implementing commands, asynchronous commands, and command parameters
- Leveraging CommunityToolkit.Mvvm and source generators
- Managing ViewModels, services, and application state
- Navigation patterns and navigation-aware ViewModels
- Managing validation and 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
- Understanding service lifetimes: transient, scoped, and singleton
- Registering platform-specific and shared services
- Employing constructor injection and service composition
- Applying dependency inversion and loose coupling
- Implementing repository and service patterns
- Managing application-wide dependencies
- Configuring environment-specific services
- Exercise: Refactor 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 controls
- Creating bespoke custom controls
- Incorporating platform-specific behavior and APIs
- Utilizing effects, behaviors, and reusable UI extensions
- Determining when to apply 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
- Parameterizing components and managing data binding
- Developing reusable behaviors and converters
- Organizing shared application functionality
- Creating .NET class libraries for MAUI applications
- Packaging and distributing reusable components
- Foundations of NuGet packaging
- Exercise: Build a reusable component library
6. Advanced UI/UX, Layouts, and Animations
- Advanced layouts and responsive UI design principles
- Adaptive interfaces for phones, tablets, and desktops
- Dynamic resources and styling techniques
- Managing resource dictionaries and themes
- Implementing light and dark themes
- Visual states and state-driven UI design
- Advanced animations and transitions
- Gestural recognition implementation
- Custom drawing and graphical elements
- Considerations for accessibility
- Exercise: Create a responsive and animated MAUI interface
7. Handling Complex Data Scenarios
- Consuming REST APIs within .NET MAUI
- HTTP clients and asynchronous data access patterns
- JSON serialization and deserialization
- Error handling and retry strategies
- Local data persistence solutions
- SQLite and local database integration
- Repository patterns for data access
- Designing offline-first applications
- Synchronizing local and remote data
- Conflict resolution strategies
- Managing caching and cache invalidation
- Exercise: Implement an offline-capable data-driven application
8. Performance Tuning and Optimization
- Identifying performance bottlenecks
- Optimizing application startup time
- Memory management and resource utilization
- Minimizing unnecessary UI updates
- Optimizing bindings and collection rendering
- Efficient image loading and caching mechanisms
- Asynchronous programming to prevent UI-thread blocking
- Implementing background processing
- 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 lifecycle issues
- Implementing logging and structured diagnostics
- Leveraging .NET diagnostics and profiling tools
- CPU and memory profiling
- Detecting and resolving memory leaks
- Investigating slow UI rendering issues
- Debugging platform-specific anomalies
- Using device and emulator diagnostics
- Exercise: Diagnose and resolve common performance and runtime problems
10. Architectural Patterns and Best Practices for Large-Scale Applications
- Selecting an appropriate application architecture
- Concepts of Clean Architecture
- Implementing layered architecture
- Separating UI, business logic, and data access
- Defining repository and service abstractions
- Applying SOLID principles in MAUI applications
- Managing application state
- Organizing projects by feature
- Designing modular applications
- Considerations for scalability and maintainability
- Exercise: Design the architecture of a production-scale MAUI application
11. Advanced Testing Strategies
- Unit testing ViewModels and services
- Testing business logic independently from the UI
- Mocking dependencies for isolation
- Testing asynchronous code paths
- Testing navigation and application state
- Concepts in UI and integration testing
- Designing a testable application architecture
- Considerations for continuous integration
- Exercise: Create a comprehensive test suite for a MAUI application
12. Security in .NET MAUI Applications
- Architecting for security
- Securely storing sensitive information
- Implementing authentication and authorization
- Managing security tokens
- API security considerations
- Protecting locally stored data
- Securing communication with backend services
- Handling credentials and secrets
- Mitigating common mobile application security risks
- Exercise: Implement 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
- Packaging Android applications
- Concepts in iOS application deployment
- 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 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 strategies
- Maintaining applications across .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
- Implementing validation and error handling
- Applying performance optimizations
- Incorporating security and authentication
- Testing critical application functionality
- Preparing the application for deployment
16. Summary and Next Steps
- Review of advanced .NET MAUI concepts
- Identifying common architectural and performance pitfalls
- Recommended development practices
- Resources for further learning
- Planning next steps toward production-ready MAUI development
- Q&A session and discussion of participant projects
Requirements
- Strong proficiency in the C# programming language
- A robust understanding of object-oriented programming (OOP) concepts
- Familiarity with the .NET framework
Target Audience
- 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!)