Until January 2nd 2025, when you have more than one item in your basket, the cheapest one is FREE! Up to 3 orders per student. Happy Holidays!

Deep Dive: .NET MAUI

Deep dive into building native, cross-platform desktop and mobile apps in .NET

The "Deep Dive into .NET MAUI" course is designed for those with a foundational understanding of .NET MAUI, potentially from completing the "Getting Started with .NET MAUI" course or similar experiences. This advanced course focuses on enhancing your skills and understanding of .NET MAUI, diving into more complex and technical aspects of app development. Throughout this course, you'll explore a range of topics, including advanced UI control customization, efficient memory management, asynchronous programming, and integrating various types of APIs. The curriculum is structured to provide a thorough understanding of each concept, with practical examples and real-world applications. This course also emphasizes the importance of writing maintainable and testable code, with a strong focus on cross-platform services and unit testing. It's an opportunity for developers to deepen their knowledge and expertise in building robust, high-performing applications using .NET MAUI. By the end of the "Deep Dive into .NET MAUI" course, you'll have a comprehensive understanding of advanced techniques and best practices in .NET MAUI app development, positioning you to tackle more complex projects and challenges in your professional work.

Curriculum

Welcome (0:36)

What will you learn in this course? (0:47)

Who is the course for and prerequisites (0:41)

.NET MAUI Architecture Overview & Handlers (1:50)

.NET MAUI Source Code (9:59)

Architecture breakdown (3:28)

CalendarView overview (1:59)

Creating the CalendarView (12:48)

Creating the iOS CalendarView Handler (22:07)

Creating the Android CalendarView Handler (9:32)

Creating the MacCatalyst CalendarView Handler (3:18)

Creating the Windows CalendarView Handler (4:20)

Connecting Handlers in .NET MAUI (9:52)

What is Memory Management? (1:30)

Managed vs Unmanaged Memory (2:13)

Garbage Collection (2:31)

Memory Leaks (5:05)

Events (12:43)

Circular References (3:39)

IDisposable (8:02)

Anonymous Functions (8:04)

How does Async / Await work? (3:06)

What does the compiler generate? (6:29)

Caveats (1:43)

Async / Await in action (17:55)

Best practices (7:11)

What are REST APIs? (3:03)

REST API related libraries (2:06)

Implementing Refit (7:11)

Calling REST APIs in the ViewModel (12:59)

Programmatic Pull-to-Refresh (9:29)

Resilience (10:39)

What is Local Storage? (1:36)

Using IPreferences (5:11)

What are Local Databases? (0:48)

Creating the LibraryModelDatase (16:42)

Making Database Calls in the ViewModel (8:54)

What is GraphQL? (2:36)

GraphQL in action (6:01)

Using Postman (3:22)

GraphQL recap (2:01)

Using StrawberryShake.MAUI (13:07)

Using GraphQL in the ViewModel (13:05)

What are Cross Platform Services? (7:56)

.NET MAUI Unit Testing Overview (5:52)

Adding Unit Test Support to our app (7:57)

Writing Our First Unit Test (12:02)

Completing our Unit Test Architecture (12:17)

Manual Testing Overview (9:25)

Conclusion (0:42)

Course Info

Level:
Deep Dive
Duration:
5h 36m
Rating (1,8K+):
star

Lifetime access

Add to Cart

Part of the bundle

From Zero to Hero: .NET MAUI Bundle thumbnail Get it for 20% off
Dometrain Pro

Want access to all of our courses? Subscribe to Dometrain Pro!

Try it for free!

About the Author

author_img

Brandon Minnick

Brandon is a Microsoft MVP and a .NET Developer Advocate at AWS, where he gets to work closely with the developer community to help fellow mobile app and cloud developers make 5-star apps. Brandon has nearly a decade of experience creating iOS and Android apps in C#, previously working at both Xamarin and Microsoft. He is also the lead maintainer of the popular .NET NuGet packages ".NET MAUI Community Toolkit" and “AsyncAwaitBestPractices." Brandon is an avid mobile app developer who loves to code and has contributed to and published countless apps!

More courses by Brandon Minnick