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.
Duration 14 hours
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 architecture.
- Understanding handlers, controls, layouts, and platform abstractions.
- Implementing platform-specific code and conditional compilation.
- Managing dependencies and NuGet packages.
- Utilizing Visual Studio and the .NET CLI effectively.
- 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 principles and the separation of concerns.
- Advanced data binding techniques.
- 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.
- Handling navigation and navigation-aware ViewModels.
- Managing validation and application state.
- Exercise: Develop a multi-page MVVM application featuring validation and asynchronous operations.
3. Dependency Injection and Application Architecture
- Utilizing built-in .NET dependency injection.
- Managing 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: Refactor an application to utilize dependency injection.
4. Deep Dive into Customizing and Extending .NET MAUI
- Understanding handlers and the .NET MAUI rendering architecture.
- Creating custom handlers and platform-specific implementations.
- Mapping .NET MAUI controls to native platform controls.
- Extending the capabilities of existing controls.
- Designing and creating custom controls.
- Incorporating platform-specific behavior and APIs.
- Implementing effects, behaviors, and reusable UI extensions.
- Determining 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.
- Creating custom controls and ContentViews.
- Applying component parameterization and data binding.
- Developing reusable behaviors and converters.
- Organizing shared application functionality.
- Creating .NET class libraries 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
- Implementing advanced layouts and responsive UI design.
- Crafting 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 UIs.
- Creating advanced animations and transitions.
- Integrating gesture recognition.
- Performing custom drawing and graphics.
- Considering accessibility requirements.
- Exercise: Design a responsive and animated MAUI interface.
7. Handling Complex Data Scenarios
- Consuming REST APIs from .NET MAUI.
- Using HTTP clients and asynchronous data access.
- Managing JSON serialization and deserialization.
- Implementing error handling and retry strategies.
- Ensuring local data persistence.
- Working with SQLite and local databases.
- Applying repository patterns for data access.
- Designing offline-first applications.
- Synchronizing local and remote data.
- Developing conflict resolution strategies.
- Implementing caching and cache invalidation.
- Exercise: Implement an offline-capable data-driven application.
8. Performance Tuning and Optimization
- Identifying performance bottlenecks.
- Optimizing startup time.
- Managing memory and resource usage.
- Reducing unnecessary UI updates.
- Optimizing bindings and collection rendering.
- Enhancing image loading and caching efficiency.
- Utilizing async programming to avoid UI-thread blocking.
- Managing background processing.
- Reducing 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.
- Utilizing .NET diagnostics and profiling tools.
- Performing CPU and memory profiling.
- Detecting memory leaks.
- Investigating slow UI rendering.
- Debugging platform-specific issues.
- 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 an appropriate application architecture.
- Applying Clean Architecture concepts.
- Implementing layered architecture.
- Separating UI, business logic, and data access.
- Utilizing repository and service abstractions.
- Applying SOLID principles in MAUI applications.
- Managing application state.
- Organizing projects on a feature-based basis.
- Designing modular applications.
- Considering 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.
- Testing asynchronous code.
- Validating navigation and application state.
- Understanding UI and integration testing concepts.
- Designing a testable application architecture.
- Considering continuous integration.
- Exercise: Create a test suite for a MAUI application.
12. Security in .NET MAUI Applications
- Designing a secure application architecture.
- Securely storing sensitive information.
- Implementing authentication and authorization.
- Managing tokens.
- Addressing API security considerations.
- Protecting locally stored data.
- Securing communication with backend services.
- Handling credentials and secrets.
- 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.
- Using application signing and certificates.
- Packaging Android applications.
- Understanding iOS application deployment.
- Packaging Windows applications.
- Managing versioning and releases.
- Configuring environment-specific settings.
- Publishing applications to app stores.
- Considering CI/CD 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.
- Observing improvements in handlers and platform integration.
- Utilizing Visual Studio tooling and productivity features.
- Adopting modern .NET development practices.
- Evaluating third-party libraries and MAUI Community Toolkit features.
- Considering migration and upgrade strategies.
- 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.
- Incorporating 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 and discussion of participants' projects.
Requirements
- Strong proficiency in the C# programming language.
- A solid grasp of object-oriented programming (OOP) concepts.
- Familiarity with the .NET framework.
Target Audience
- Software Developers.
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!)