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. Foundations of .NET MAUI and Cross-Platform Development
- .NET MAUI architecture and the application lifecycle
- Multi-platform project structure and the single-project architecture
- Exploring handlers, controls, layouts, and platform abstractions
- Implementing platform-specific code and conditional compilation
- Managing dependencies and utilizing NuGet packages
- Leveraging Visual Studio and the .NET CLI for development
- Building and executing applications on Android, iOS, Windows, and macOS
- Exercise: Design and configure a multi-platform .NET MAUI application
2. Advanced MVVM Techniques and Patterns
- Revisiting MVVM and the separation of concerns principle
- Implementing advanced data binding techniques
- Optimizing binding performance through compiled bindings
- Utilizing
INotifyPropertyChangedand observable collections - Handling commands, asynchronous commands, and command parameters
- Leveraging CommunityToolkit.Mvvm and source generators
- Managing ViewModels, services, and application state
- Implementing navigation and navigation-aware ViewModels
- Addressing validation and application state management
- Exercise: Develop a multi-page MVVM application featuring validation and asynchronous operations
3. Dependency Injection and Application Architecture
- Utilizing built-in .NET dependency injection
- Understanding service lifetimes: transient, scoped, and singleton
- Registering shared and platform-specific services
- Applying constructor injection and service composition
- Implementing dependency inversion for loose coupling
- Adopting Repository and Service patterns
- Managing application-wide dependencies effectively
- Configuring environment-specific services
- Exercise: Refactor an existing application to utilize dependency injection
4. Advanced Customization and Extension of .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 bespoke custom controls
- Integrating platform-specific behaviors and APIs
- Leveraging effects, behaviors, and reusable UI extensions
- Determining the appropriate use of handlers, behaviors, effects, or custom controls
- Exercise: Create and integrate a customized cross-platform control
5. Developing Reusable Components and Libraries
- Designing modular and reusable UI components
- Crafting custom controls and ContentViews
- Implementing component parameterization and data binding
- Creating reusable behaviors and converters
- Structuring shared application functionality
- Building .NET class libraries for MAUI applications
- Packaging and distributing reusable components
- Mastering NuGet package fundamentals
- Exercise: Construct a reusable component library
6. Advanced UI/UX, Layouts, and Animations
- Implementing advanced layouts and responsive UI design
- Creating adaptive interfaces for phones, tablets, and desktops
- Managing dynamic resources and styling
- Utilizing resource dictionaries and theme management
- Implementing light and dark themes
- Managing visual states and state-driven UI
- Creating advanced animations and transitions
- Implementing gesture recognition
- Performing custom drawing and graphics
- Addressing accessibility considerations
- Exercise: Build a responsive and animated MAUI interface
7. Managing Complex Data Scenarios
- Consuming REST APIs within .NET MAUI
- Utilizing HTTP clients for asynchronous data access
- Handling JSON serialization and deserialization
- Implementing error handling and retry strategies
- Persisting local data
- Working with SQLite and local databases
- Applying Repository patterns for data access
- Designing offline-first applications
- Synchronizing local and remote data
- Resolving data conflicts effectively
- Implementing caching and cache invalidation strategies
- Exercise: Develop 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
- Minimizing unnecessary UI updates
- Optimizing bindings and collection rendering
- Implementing efficient image loading and caching
- Utilizing async programming to prevent UI-thread blocking
- Managing background processing
- Reducing overall application size
- Addressing memory leaks and object lifetimes
- Exercise: Profile and optimize an intentionally inefficient MAUI application
9. Advanced Debugging and Profiling Techniques
- Debugging cross-platform applications
- Using breakpoints, watches, and exception handling
- Diagnosing UI 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
- 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 the appropriate application architecture
- Applying Clean Architecture concepts
- Implementing layered architecture
- Separating UI, business logic, and data access
- Defining Repository and Service abstractions
- Applying SOLID principles in MAUI applications
- Managing application state effectively
- Organizing projects on a feature-based model
- Designing modular applications
- Considering 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 of the UI
- Mocking dependencies for isolation
- Testing asynchronous code
- Testing navigation and application state
- Understanding UI and integration testing concepts
- Designing for a testable application architecture
- Considering continuous integration practices
- 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 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 platforms
- Distinguishing between Release and Debug configurations
- Managing application signing and certificates
- Packaging Android applications
- Understanding iOS application deployment concepts
- Packaging Windows applications
- Managing versioning and releases
- Configuring environment-specific settings
- Publishing applications to app stores
- Implementing 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
- Assessing 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 logic
- Implementing validation and error handling
- Applying performance optimizations
- Integrating security and authentication
- Testing critical application functionality
- Preparing the application for deployment
16. Summary and Next Steps
- Reviewing advanced .NET MAUI concepts
- Identifying common architectural and performance pitfalls
- Recommending best development practices
- Providing further learning resources
- Planning next steps toward production-ready MAUI development
- Q&A session and discussion of participants' projects
Requirements
- Strong proficiency in the C# programming language
- A solid grasp of object-oriented programming (OOP) principles
- Working knowledge of 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!)