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.
Duration 14 hours
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
- Comprehending handlers, controls, layouts, and platform abstractions
- Platform-specific code implementation and conditional compilation
- Dependency management through 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 methodologies
- Compiled bindings and optimizing binding performance
INotifyPropertyChangedand observable collections- Commands, asynchronous commands, and managing command parameters
- Utilizing CommunityToolkit.Mvvm and source generators
- Managing ViewModels, services, and application state
- Navigation strategies and navigation-aware ViewModels
- Handling data validation and maintaining application state
- Exercise: Build a multi-page MVVM application incorporating validation and asynchronous operations
3. Dependency Injection and Application Architecture
- Leveraging built-in .NET dependency injection
- Managing service lifetimes: transient, scoped, and singleton
- Registering platform-specific and shared services effectively
- Constructor injection and service composition techniques
- Applying dependency inversion for loose coupling
- Implementing Repository and Service patterns
- Managing application-wide dependencies
- Configuring environment-specific services
- 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
- Developing custom handlers for platform-specific implementations
- Mapping .NET MAUI controls to native platform controls
- Extending the functionality of existing controls
- Creating entirely custom controls
- Integrating platform-specific behaviors 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 efficient data binding
- Developing reusable behaviors and converters
- Organizing shared application functionality
- Creating .NET class libraries tailored for MAUI applications
- Packaging and distributing reusable components
- Fundamentals of NuGet packages
- Exercise: Build a comprehensive reusable component library
6. Advanced UI/UX, Layouts, and Animations
- Advanced layouts and responsive UI design principles
- Creating adaptive interfaces for phones, tablets, and desktops
- Utilizing dynamic resources and styling options
- Resource dictionaries and effective theme management
- Implementing light and dark themes
- Visual states and state-driven UI design
- Advanced animations and smooth transitions
- Implementing gesture recognition
- Custom drawing and graphics capabilities
- Considerations for accessibility
- Exercise: Create a responsive and animated MAUI interface
7. Handling Complex Data Scenarios
- Consuming REST APIs within .NET MAUI
- Utilizing HTTP clients for asynchronous data access
- JSON serialization and deserialization processes
- Robust error handling and retry strategies
- Local data persistence mechanisms
- Using SQLite and local databases
- Implementing Repository patterns for data access
- Designing offline-first applications
- Synchronizing local and remote data sources
- Strategies for conflict resolution
- 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 times
- Efficient memory management and resource usage
- Minimizing unnecessary UI updates
- Optimizing bindings and collection rendering performance
- Efficient image loading and caching strategies
- Asynchronous programming 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 complex cross-platform applications
- Using breakpoints, watches, and exception handling effectively
- Diagnosing UI rendering and lifecycle issues
- Implementing logging and structured diagnostics
- Leveraging .NET diagnostics and profiling tools
- Performing CPU and memory profiling
- Detecting and resolving memory leaks
- Investigating slow UI rendering causes
- Debugging platform-specific quirks and 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
- Selecting an appropriate application architecture
- Applying Clean Architecture concepts
- Implementing layered architecture
- Ensuring separation of UI, business logic, and data access
- Using Repository and Service abstractions
- Applying SOLID principles in MAUI applications
- Effective management of application state
- Feature-based project organization
- Designing modular applications
- Considerations for scalability and maintainability
- Exercise: Design the architecture for a production-scale MAUI application
11. Advanced Testing Strategies
- Unit testing ViewModels and services
- Testing business logic independently from the UI
- Effective mocking of dependencies
- Testing asynchronous code flows
- Testing navigation flows and application state
- Concepts of UI and integration testing
- Designing a testable application architecture
- 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
- Secure storage of sensitive information
- Implementing authentication and authorization flows
- Managing tokens securely
- Addressing API security considerations
- 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 diverse target platforms
- Managing Release versus Debug configurations
- Application signing and certificate management
- Android application packaging standards
- iOS application deployment concepts
- Windows application packaging methods
- Versioning and release management workflows
- Environment-specific configuration strategies
- 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 significant changes
- New controls, APIs, and development capabilities
- Enhancements to handlers and platform integration
- Visual Studio tooling and productivity features
- Adopting 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 overall architecture
- Designing the MVVM structure
- Configuring dependency injection mechanisms
- Implementing reusable UI components
- Connecting to remote and local data sources
- Adding caching and synchronization logic
- Implementing validation and robust error handling
- Applying key performance optimizations
- Incorporating 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 best practices for development
- Resources for further learning
- Planning next steps toward production-ready MAUI development
- Q&A session and discussion of participants' projects
Requirements
- Demonstrated proficiency in the C# programming language.
- A solid grasp of object-oriented programming (OOP) concepts.
- Familiarity with the .NET framework ecosystem.
Target Audience
- Software Developers
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!)