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 single-project architectures
- Comprehending handlers, controls, layouts, and platform abstractions
- Implementing platform-specific code and conditional compilation
- Managing dependencies and utilizing NuGet packages
- Utilizing Visual Studio and the .NET CLI
- Building and executing applications across Android, iOS, Windows, and macOS
- Exercise: Creating and configuring a multi-platform .NET MAUI application
2. Advanced MVVM Techniques and Patterns
- Revisiting MVVM and the principle of separation of concerns
- Advanced data binding methodologies
- Compiled bindings and optimizing binding performance
- Implementing
INotifyPropertyChangedand managing observable collections - Working with commands, asynchronous commands, and command parameters
- Leveraging CommunityToolkit.Mvvm and source generators
- Structuring ViewModels, services, and state management
- Navigation strategies and navigation-aware ViewModels
- Managing validation and application state
- Exercise: Developing a multi-page MVVM application with validation and asynchronous operations
3. Dependency Injection and Application Architecture
- Utilizing built-in .NET dependency injection
- Understanding service lifetimes: transient, scoped, and singleton
- Registering platform-specific and shared services
- Applying constructor injection and service composition
- Adhering to dependency inversion and loose coupling principles
- Implementing Repository and service patterns
- Managing application-wide dependencies
- Configuring environment-specific services
- Exercise: Refactoring an application to incorporate 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 the functionality of existing controls
- Creating bespoke 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: Creating and integrating a customized cross-platform control
5. Building Reusable Components and Libraries
- Designing reusable UI components
- Creating custom controls and ContentViews
- Parameterizing components and implementing data binding
- Developing reusable behaviors and converters
- Organizing shared application functionality
- Creating .NET class libraries for MAUI applications
- Packaging and distributing reusable components
- Fundamentals of NuGet packages
- Exercise: Building a reusable component library
6. Advanced UI/UX, Layouts, and Animations
- Advanced layouts and responsive UI design
- Creating adaptive interfaces for phones, tablets, and desktops
- Utilizing dynamic resources and styling
- Managing resource dictionaries and themes
- Implementing light and dark themes
- Defining visual states and state-driven UI
- Advanced animations and transitions
- Gesture recognition technologies
- Custom drawing and graphics rendering
- Addressing accessibility considerations
- Exercise: Creating a responsive and animated MAUI interface
7. Handling Complex Data Scenarios
- Consuming REST APIs from .NET MAUI
- Implementing HTTP clients and asynchronous data access
- JSON serialization and deserialization
- Error handling and retry strategies
- Local data persistence
- SQLite and local database management
- Applying Repository patterns for data access
- Offline-first application design
- Synchronizing local and remote data
- Conflict resolution strategies
- Caching mechanisms and cache invalidation
- Exercise: Implementing an offline-capable data-driven application
8. Performance Tuning and Optimization
- Identifying performance bottlenecks
- Optimizing startup time
- Managing memory and resource usage
- Minimizing unnecessary UI updates
- Optimizing bindings and collection rendering
- Efficient image loading and caching
- Async programming and avoiding UI-thread blocking
- Background processing techniques
- Reducing application size
- Managing memory leaks and object lifetimes
- Exercise: Profiling and optimizing 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
- Logging and structured diagnostics
- Utilizing .NET diagnostics and profiling tools
- CPU and memory profiling
- Detecting memory leaks
- Investigating slow UI rendering
- Debugging platform-specific issues
- Using device and emulator diagnostics
- Exercise: Diagnosing and resolving common performance and runtime problems
10. Architectural Patterns and Best Practices for Large-Scale Applications
- Selecting an appropriate application architecture
- Concepts of Clean Architecture
- Layered architecture structures
- Separating UI, business logic, and data access
- Repository and service abstractions
- Applying SOLID principles in MAUI applications
- Managing application state
- Feature-based project organization
- Modular application design
- Scalability and maintainability considerations
- Exercise: Designing 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 dependencies
- Testing asynchronous code
- Testing navigation and application state
- UI and integration testing concepts
- Designing testable application architecture
- Continuous integration considerations
- Exercise: Creating a test suite for a MAUI application
12. Security in .NET MAUI Applications
- Secure application architecture
- Secure storage of sensitive information
- Authentication and authorization mechanisms
- Token management
- API security considerations
- Protecting locally stored data
- Secure communication with backend services
- Handling credentials and secrets
- Common mobile application security risks
- Exercise: Implementing secure authentication and credential storage
13. Application Deployment and Distribution
- Building applications for different platforms
- Release versus Debug configurations
- Application signing and certificates
- Android application packaging
- iOS application deployment concepts
- Windows application packaging
- Versioning and release management
- Environment-specific configuration
- Publishing applications to app stores
- CI/CD considerations for MAUI projects
- Exercise: Preparing a MAUI application for production deployment
14. Latest .NET MAUI and Visual Studio Features
- Recent .NET MAUI improvements and changes
- New controls, APIs, and development capabilities
- Improvements 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 considerations
- 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
- Adding security and authentication
- Testing critical application functionality
- Preparing the application for deployment
16. Summary and Next Steps
- Review of advanced .NET MAUI concepts
- Common architectural and performance pitfalls
- Recommended development practices
- Further learning resources
- Planning the next steps toward production-ready MAUI development
- Q&A and discussion of participants' projects
Requirements
- Strong proficiency in the C# programming language
- A comprehensive understanding of object-oriented programming (OOP) principles
- Familiarity with the .NET framework ecosystem
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!)