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 application lifecycle management
- Multi-platform project structure and single-project architecture
- Understanding handlers, controls, layouts, and platform abstractions
- Platform-specific code implementation and conditional compilation
- Dependency management and leveraging NuGet packages
- Utilizing Visual Studio and the .NET CLI for development
- Building and running 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
- Optimizing performance with compiled bindings
INotifyPropertyChangedand managing observable collections- Commands, asynchronous commands, and command parameters
- Leveraging 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 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
- Constructor injection and effective service composition
- Principles of dependency inversion and loose coupling
- Applying Repository and Service patterns
- Managing application-wide dependencies
- Configuration and environment-specific service management
- 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 solutions
- Mapping .NET MAUI controls to native platform controls
- Extending existing control functionalities
- Creating fully custom controls
- Integrating platform-specific behaviors and APIs
- Effects, behaviors, and reusable UI extensions
- Strategic decision-making: 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 reusable UI components for scalability
- Creating custom controls and ContentViews
- Component parameterization and effective data binding
- Developing reusable behaviors and converters
- Organizing shared application functionality
- Creating .NET class libraries tailored for MAUI applications
- Packaging and distributing reusable components
- Understanding NuGet package fundamentals
- Exercise: Build a reusable component library
6. Advanced UI/UX, Layouts, and Animations
- Advanced layouts and responsive UI design principles
- Adaptive interfaces for phones, tablets, and desktops
- Utilizing dynamic resources and styling
- Resource dictionaries and comprehensive theme management
- Implementing light and dark themes
- Visual states and state-driven UI logic
- Advanced animations and smooth transitions
- Gesture recognition implementation
- Custom drawing and graphics capabilities
- Accessibility considerations and best practices
- Exercise: Create a responsive and animated MAUI interface
7. Handling Complex Data Scenarios
- Consuming REST APIs from .NET MAUI applications
- HTTP clients and asynchronous data access patterns
- JSON serialization and deserialization processes
- Robust error handling and retry strategies
- Local data persistence methods
- SQLite and local database management
- Repository patterns for efficient data access
- Offline-first application design strategies
- Synchronization between local and remote data sources
- Conflict resolution strategies for data integrity
- Caching mechanisms and cache invalidation
- Exercise: Implement an offline-capable data-driven application
8. Performance Tuning and Optimization
- Identifying and resolving performance bottlenecks
- Optimizing startup time and initial load
- Memory management and efficient resource usage
- Reducing unnecessary UI updates
- Optimizing bindings and collection rendering efficiency
- Efficient image loading and caching strategies
- Async programming and preventing UI-thread blocking
- Background processing techniques
- Strategies for reducing application size
- Managing memory leaks and object lifetimes
- Exercise: Profile and optimize an intentionally inefficient MAUI application
9. Advanced Debugging and Profiling Techniques
- Debugging cross-platform applications effectively
- Utilizing breakpoints, watches, and exception handling
- Diagnosing UI and lifecycle-related issues
- Implementing logging and structured diagnostics
- Using .NET diagnostics and profiling tools
- CPU and memory profiling analysis
- Detecting and resolving memory leaks
- Investigating slow UI rendering issues
- Debugging platform-specific problems
- Leveraging device and emulator diagnostics
- Exercise: Diagnose and resolve common performance and runtime problems
10. Architectural Patterns and Best Practices for Large-Scale Applications
- Selecting appropriate application architectures
- Applying Clean Architecture concepts
- Implementing layered architecture
- Separating UI, business logic, and data access layers
- Repository and service abstractions
- Applying SOLID principles in MAUI applications
- Effective application state management
- Feature-based project organization
- Designing modular applications
- Considerations for 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 dependencies for isolated testing
- Testing asynchronous code patterns
- Testing navigation flows and application state
- UI and integration testing concepts
- Designing testable application architecture
- Continuous integration considerations
- 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
- Application signing and certificate management
- Android application packaging processes
- iOS application deployment concepts
- Windows application packaging
- Versioning and release management strategies
- Environment-specific configuration settings
- 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 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 .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 deployment
16. Summary and Next Steps
- Review of advanced .NET MAUI concepts
- Identifying common architectural and performance pitfalls
- Recommended development practices
- Resources for further learning
- 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 command of object-oriented programming (OOP) principles.
- Familiarity with the .NET framework ecosystem.
Intended 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!)