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 structures and the single-project architecture model
- Exploring handlers, controls, layouts, and platform abstractions
- Managing platform-specific code and conditional compilation
- Dependency management and leveraging NuGet packages
- Utilizing Visual Studio and the .NET CLI for development
- Building and executing applications on Android, iOS, Windows, and macOS
- Exercise: Configure and create a multi-platform .NET MAUI application
2. Advanced MVVM Techniques and Patterns
- Refresher on MVVM and the principle of separation of concerns
- Advanced data binding techniques for complex scenarios
- Optimizing compiled bindings and binding performance
- Implementing
INotifyPropertyChangedand observable collections - Managing commands, asynchronous operations, and command parameters
- Leveraging CommunityToolkit.Mvvm and source generators
- Designing ViewModels, services, and state management systems
- Implementing navigation and navigation-aware ViewModels
- Handling data validation and managing application state
- Exercise: Develop a multi-page MVVM application featuring validation and asynchronous processing
3. Dependency Injection and Application Architecture
- Utilizing built-in .NET dependency injection capabilities
- Understanding service lifetimes: transient, scoped, and singleton
- Registering shared and platform-specific services
- Applying constructor injection and service composition
- Practicing dependency inversion and loose coupling
- Implementing Repository and Service patterns
- Managing dependencies across the application scope
- Configuring environment-specific services
- Exercise: Refactor an existing application to utilize dependency injection
4. Deep Dive into Customizing and Extending .NET MAUI
- Analyzing handlers and the .NET MAUI rendering architecture
- Creating custom handlers for platform-specific implementations
- Mapping .NET MAUI controls to native platform equivalents
- Extending the functionality of existing controls
- Developing entirely custom controls
- Incorporating platform-specific behaviors and APIs
- Using Effects, behaviors, and reusable UI extensions
- Determining when to apply handlers, behaviors, effects, or custom controls
- Exercise: Design and integrate a customized cross-platform control
5. Building Reusable Components and Libraries
- Designing UI components for maximum reusability
- Creating custom controls and ContentViews
- Parameterizing components and managing data binding
- Developing reusable behaviors and converters
- Organizing shared application functionality effectively
- Building .NET class libraries for MAUI applications
- Packaging and distributing reusable components
- Fundamentals of NuGet package management
- Exercise: Construct a library of reusable components
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 for styling
- Managing resource dictionaries and themes
- Implementing light and dark themes
- Managing visual states and state-driven UI changes
- Developing advanced animations and transitions
- Implementing gesture recognition
- Custom drawing and graphics implementation
- Considering accessibility standards
- Exercise: Create a responsive, animated MAUI interface
7. Handling Complex Data Scenarios
- Consuming REST APIs within .NET MAUI applications
- Using HTTP clients for asynchronous data access
- Handling JSON serialization and deserialization
- Implementing robust error handling and retry strategies
- Local data persistence methods
- Working with SQLite and local databases
- Applying Repository patterns for data access
- Designing offline-first applications
- Synchronizing local and remote data sources
- Strategies for conflict resolution
- 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
- Efficient memory management and resource usage
- Minimizing unnecessary UI updates
- Optimizing binding performance and collection rendering
- Efficient image loading and caching strategies
- Asynchronous programming to prevent UI-thread blocking
- Implementing background processing tasks
- Reducing overall application size
- Preventing memory leaks and managing object lifetimes
- Exercise: Profile and optimize a MAUI application with intentional inefficiencies
9. Advanced Debugging and Profiling Techniques
- Debugging strategies for cross-platform applications
- Utilizing breakpoints, watches, and exception handling
- Diagnosing UI and lifecycle-related issues
- Implementing logging and structured diagnostics
- Leveraging .NET diagnostics and profiling tools
- Analyzing CPU and memory usage through profiling
- Detecting and resolving memory leaks
- Investigating causes of slow UI rendering
- Debugging issues specific to individual platforms
- Using device and emulator diagnostics
- Exercise: Diagnose and fix common performance and runtime issues
10. Architectural Patterns and Best Practices for Large-Scale Applications
- Selecting the most suitable application architecture
- Applying Clean Architecture concepts
- Implementing layered architecture designs
- Separating UI, business logic, and data access layers
- Abstracting Repositories and Services
- Applying SOLID principles in MAUI development
- Effective management of application state
- Organizing projects on a feature-based basis
- Designing modular applications
- Considerations for 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 isolated testing
- Testing asynchronous code patterns
- Verifying navigation flows and application state changes
- Concepts in UI and integration testing
- Designing for a testable application architecture
- Considerations for continuous integration pipelines
- Exercise: Develop a comprehensive test suite for a MAUI application
12. Security in .NET MAUI Applications
- Designing a secure application architecture
- Secure storage of sensitive information
- Implementing authentication and authorization mechanisms
- Managing security tokens
- Addressing API security considerations
- Protecting locally stored data
- Ensuring secure communication with backend services
- Best practices for handling credentials and secrets
- Mitigating common mobile application security risks
- Exercise: Implement secure authentication and credential storage solutions
13. Application Deployment and Distribution
- Building applications for various target platforms
- Differences between Release and Debug configurations
- Application signing and certificate management
- Packaging Android applications
- Deployment concepts for iOS applications
- Packaging strategies for Windows applications
- Versioning and release management workflows
- Configuring environment-specific settings
- Publishing applications to major 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
- Introduction of new controls, APIs, and 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
- Considerations for migration and upgrades
- Maintaining application compatibility across .NET versions
15. Capstone Exercise: Building a Production-Ready .NET MAUI Application
- Defining application requirements and architectural approach
- Designing the MVVM structure
- Configuring the dependency injection container
- Implementing reusable UI components
- Connecting to both remote and local data sources
- Adding caching and synchronization logic
- Implementing robust validation and error handling
- Applying performance optimizations
- Incorporating security and authentication features
- Testing critical application functionality
- Finalizing the application for 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 continued learning
- Planning next steps for production-ready MAUI development
- Q&A session and discussion of participants' projects
Requirements
- Strong proficiency in the C# programming language.
- A comprehensive understanding of object-oriented programming (OOP) principles.
- Practical 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!)