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
- Overview of .NET MAUI architecture and application lifecycle
- Multi-platform project structures and single-project architecture
- Comprehending handlers, controls, layouts, and platform abstractions
- Implementing platform-specific code and conditional compilation
- Managing dependencies and utilizing NuGet packages
- Working effectively with 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
- Revisiting MVVM and the principle of separation of concerns
- Implementing advanced data binding techniques
- Leveraging compiled bindings and optimizing binding performance
INotifyPropertyChangedand managing observable collections- Utilizing commands, asynchronous commands, and command parameters
- Integrating CommunityToolkit.Mvvm and source generators
- Structuring ViewModels, services, and state management
- Managing navigation and creating navigation-aware ViewModels
- Handling validation and maintaining application state
- Exercise: Build a multi-page MVVM application with validation and asynchronous operations
3. Dependency Injection and Application Architecture
- Utilizing the built-in .NET dependency injection container
- Understanding service lifetimes: transient, scoped, and singleton
- Registering platform-specific and shared services
- Implementing constructor injection and service composition
- Applying dependency inversion for loose coupling
- Employing Repository and Service patterns
- Managing application-wide dependencies
- Configuring 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
- Implementing custom handlers and platform-specific logic
- Mapping .NET MAUI controls to native platform controls
- Extending existing controls for enhanced functionality
- Designing and creating custom controls
- Leveraging platform-specific behavior and APIs
- Utilizing 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 scalable, reusable UI components
- Creating custom controls and ContentViews
- Parameterizing components and binding data
- Developing reusable behaviors and value converters
- Organizing shared application functionality
- Creating .NET class libraries specifically for MAUI applications
- Packaging and distributing reusable components
- Fundamentals of NuGet package management
- Exercise: Build a reusable component library
6. Advanced UI/UX, Layouts, and Animations
- Advanced layouts and responsive UI design strategies
- Creating adaptive interfaces for phones, tablets, and desktops
- Managing dynamic resources and styling
- Resource dictionaries and theme management
- Implementing light and dark themes
- Managing visual states and state-driven UI
- Creating advanced animations and smooth transitions
- Implementing gesture recognition
- Custom drawing and graphics capabilities
- Addressing accessibility considerations
- Exercise: Create a responsive and animated MAUI interface
7. Handling Complex Data Scenarios
- Consuming REST APIs from within .NET MAUI
- Managing HTTP clients and asynchronous data access
- Performing JSON serialization and deserialization
- Implementing error handling and retry strategies
- Managing local data persistence
- Utilizing SQLite and local databases
- Applying Repository patterns for data access
- Designing offline-first applications
- Synchronizing local and remote data sources
- Implementing conflict resolution strategies
- Managing caching 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
- Managing memory and resource usage efficiently
- Reducing unnecessary UI updates
- Optimizing bindings and collection rendering performance
- Implementing efficient image loading and caching
- Mastering async programming to avoid UI-thread blocking
- Handling background processing tasks
- Minimizing 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
- Utilizing breakpoints, watches, and exception handling
- Diagnosing UI rendering and lifecycle issues
- Implementing logging and structured diagnostics
- Leveraging .NET diagnostics and profiling tools
- Analyzing CPU and memory usage
- Detecting and resolving memory leaks
- Investigating slow UI rendering performance
- Debugging platform-specific issues
- Utilizing 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
- Separating UI, business logic, and data access layers
- Utilizing Repository and service abstractions
- Applying SOLID principles in MAUI applications
- Managing application state effectively
- Organizing projects on a feature basis
- Designing modular applications
- Considering 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 of the UI
- Mocking external dependencies
- Testing asynchronous code flows
- Testing navigation and application state transitions
- Understanding UI and integration testing concepts
- Designing testable application architectures
- Considering continuous integration workflows
- Exercise: Create a test suite for a MAUI application
12. Security in .NET MAUI Applications
- Designing secure application architectures
- Securely storing sensitive information
- Implementing authentication and authorization flows
- Managing security tokens
- Addressing API security considerations
- Protecting locally stored data
- Ensuring secure communication with backend services
- Handling credentials and secrets securely
- Mitigating common mobile application security risks
- Exercise: Implement secure authentication and credential storage
13. Application Deployment and Distribution
- Building applications for various target platforms
- Differentiating between Release and Debug configurations
- Managing application signing and certificates
- Handling Android application packaging
- Understanding iOS application deployment concepts
- Managing Windows application packaging
- Implementing versioning and release management
- Configuring environment-specific settings
- Publishing applications to app stores
- Integrating CI/CD pipelines 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
- Understanding improvements to handlers and platform integration
- Leveraging Visual Studio tooling and productivity features
- Adopting modern .NET development practices
- Evaluating third-party libraries and MAUI Community Toolkit features
- Considering migration and upgrade paths
- 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
- Integrating security and authentication
- Testing critical application functionality
- Preparing the application for final deployment
16. Summary and Next Steps
- Review of advanced .NET MAUI concepts
- Identifying common architectural and performance pitfalls
- Recommending best development practices
- Providing further learning resources
- Planning the next steps toward production-ready MAUI development
- Q&A and discussion of participants' projects
Requirements
- Proficiency in the C# programming language
- A strong grasp of object-oriented programming (OOP) principles
- 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!)