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
- Multi-platform project structure and the single-project architecture
- Understanding handlers, controls, layouts, and platform abstractions
- Platform-specific code implementation and conditional compilation
- Dependency management and NuGet package integration
- 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
- Review of MVVM principles and separation of concerns
- Advanced data binding methodologies
- Compiled bindings and optimizing binding performance
INotifyPropertyChangedand observable collections- Commands, asynchronous commands, and parameter handling
- Integration of CommunityToolkit.Mvvm and source generators
- ViewModels, service integration, and state management
- Navigation flows and navigation-aware ViewModels
- Managing validation and application state
- Exercise: Building a multi-page MVVM application featuring validation and asynchronous operations
3. Dependency Injection and Application Architecture
- In-built .NET dependency injection mechanisms
- Service lifetimes: transient, scoped, and singleton
- Registering platform-specific and shared services
- Constructor injection and service composition strategies
- Dependency inversion principles and loose coupling
- Implementing Repository and Service patterns
- Managing application-wide dependencies
- Configuration and environment-specific service handling
- Exercise: Refactoring an application to utilize 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 existing control functionalities
- Creating bespoke custom controls
- Managing 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 component structures
- Creating custom controls and ContentViews
- Component parameterization and data binding strategies
- Developing reusable behaviors and converters
- Organizing shared application functionalities
- Creating .NET class libraries for MAUI applications
- Packaging and distributing reusable components
- Fundamentals of NuGet package management
- Exercise: Building a library of reusable components
6. Advanced UI/UX, Layouts, and Animations
- Advanced layout strategies and responsive UI design
- Adaptive interfaces for phones, tablets, and desktops
- Utilizing dynamic resources and styling options
- Managing resource dictionaries and themes
- Implementing light and dark theme modes
- Visual states and state-driven UI management
- Advanced animation and transition techniques
- Gesture recognition implementation
- Custom drawing and graphic capabilities
- Considerations for accessibility
- Exercise: Creating a responsive and animated MAUI interface
7. Handling Complex Data Scenarios
- Consuming REST APIs from within .NET MAUI
- HTTP clients and asynchronous data access patterns
- JSON serialization and deserialization processes
- Error handling strategies and retry mechanisms
- Local data persistence solutions
- Working with SQLite and local databases
- Applying Repository patterns for data access
- Designing offline-first applications
- Synchronizing local and remote data sources
- 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
- Memory management and resource utilization
- Minimizing unnecessary UI updates
- Optimizing bindings and collection rendering
- Efficient image loading and caching strategies
- Asynchronous programming and preventing UI-thread blocks
- Background processing techniques
- Reducing application footprint
- Managing memory leaks and object lifecycles
- Exercise: Profiling and optimizing a deliberately inefficient MAUI application
9. Advanced Debugging and Profiling Techniques
- Debugging cross-platform application issues
- Utilizing breakpoints, watches, and exception handling
- Diagnosing UI and lifecycle-related problems
- Logging and structured diagnostics
- Using .NET diagnostics and profiling tools
- CPU and memory profiling analysis
- Detecting memory leaks
- Investigating slow UI rendering issues
- Debugging platform-specific problems
- Utilizing device and emulator diagnostics
- Exercise: Diagnosing and resolving common performance and runtime issues
10. Architectural Patterns and Best Practices for Large-Scale Applications
- Selecting an appropriate application architecture
- Concepts of Clean Architecture
- Layered architecture implementation
- Separation of 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
- Considerations for scalability and maintainability
- Exercise: Designing the architecture for a production-scale MAUI application
11. Advanced Testing Strategies
- Unit testing ViewModels and services
- Testing business logic independently from the UI
- Mocking dependencies for testing
- Testing asynchronous code segments
- Testing navigation flows and application state
- UI and integration testing concepts
- Designing a testable application architecture
- Continuous integration considerations
- Exercise: Creating a comprehensive test suite for a MAUI application
12. Security in .NET MAUI Applications
- Secure application architecture design
- Securely storing sensitive information
- Authentication and authorization flows
- Token management practices
- API security considerations
- Protecting locally stored data
- Secure communication with backend services
- Handling credentials and secrets securely
- Common mobile application security risks
- Exercise: Implementing secure authentication and credential storage
13. Application Deployment and Distribution
- Building applications for various platforms
- Differences 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 setup
- 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 improvements and changes in .NET MAUI
- New controls, APIs, and development capabilities
- Enhancements 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 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
- Adding security and authentication layers
- Testing critical application functionalities
- Preparing the application for deployment
16. Summary and Next Steps
- Review of advanced .NET MAUI concepts
- Common architectural and performance pitfalls
- Recommended development best practices
- 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
- 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!)