Learn .NET MAUI – Full Course for Beginners | Build cross-platform apps in C#

James Montemagno

See code updates in pinned comment!

Let’s start our journey together to build beautiful native cross-platform apps for iOS, Android, macOS, and Windows with .NET MAUI, C#, and Visual Studio! In this full workshop, I will walk you through everything you need to know about .NET MAUI and building your very first app. You will learn the basics including how to build user interfaces with XAML, how MVVM and data binding simplify development, how to navigate between pages, access platform features like geolocation, optimize data collections, and theme your app for light theme and dark theme. This course has everything you need to learn the basics and set you up for success when building apps with .NET MAUI!

Links:
– .NET MAUI Workshop: https://aka.ms/maui-workshop
– .NET MAUI Website: https://dotnet.microsoft.com/apps/maui?WT.mc_id=friends-0000-jamont
– .NET MAUI Docs: https://docs.microsoft.com/dotnet/maui/?WT.mc_id=friends-0000-jamont
– .NET MAUI on Microsoft Learn: https://docs.microsoft.com/learn/paths/build-apps-with-dotnet-maui/?WT.mc_id=friends-0000-jamont
– .NET MAUI Community Toolkit: https://github.com/communitytoolkit/maui?WT.mc_id=friends-0000-jamont
– .NET Community Toolkit: https://github.com/communitytoolkit/dotnet?WT.mc_id=friends-0000-jamont

Relevant Videos:
– .NET MAUI Playlist: https://www.youtube.com/playlist?list=PLwOF5UVsZWUjNR3roRK79QgBcKLyOX48I
– What is .NET MAUI? https://www.youtube.com/watch?v=KmLQLSKqvvI
– What is Shell? https://www.youtube.com/watch?v=dM4PhZAUhzU
– .NET MAUI Shell Navigation: https://www.youtube.com/watch?v=8z8qz-PePlc
– .NET MAUI Dependency Injection: https://www.youtube.com/watch?v=xx1mve2AQr4
– ListView vs CollectionView: https://www.youtube.com/watch?v=_lVM9gpFSbw
– MVVM Source Generators: https://www.youtube.com/watch?v=aCxl0z04BN8
– MVVM Helpers: https://www.youtube.com/watch?v=y8ZqEOLDeo8
– XAML 101: https://www.youtube.com/watch?v=GLfR2uosoSw
– MVVM 101: https://www.youtube.com/watch?v=Pso1MeX_HvI
– Gerald: https://www.youtube.com/c/GeraldVersluis
– Nick: https://www.youtube.com/c/Elfocrash
– .NET YT: https://www.youtube.com/dotnet

Chapters:
00:00:00 – Intro to the .NET MAUI Workshop
00:04:10 – What is .NET MAUI & How to Install
00:06:25 – Workshop overview
00:08:00 – First .NET MAUI app & Architecture (slides)
00:21:40 – Get code to build your first .NET MAUI app
00:25:00 – .NET MAUI Project Walkthrough
00:29:40 – Start to build first .NET MAUI app
00:56:48 – Intro to MVVM (slides)
01:09:30 – Implementing INotifyPropertyChanged
01:22:30 – .NET Community Toolkit for MVVM (Source Generators)
01:32:30 – HTTP REST Calls & JSON Deserialization
01:43:00 – ICommand in .NET MAUI
01:59:30 – Create our UI with XAML & MVVM
02:16:20 – Navigation in .NET MAUI (slides)
02:25:20 – Implementing Navigation in .NET MAUI & Passing Parameters
02:46:00 – Building a details UI with XAML & MVVM
02:54:10 – Modal, Back Navigation, & More
02:58:20 – Access Platform APIs in .NET MAUI (slides)
03:02:53 – Platform API Integration – Connectivity
03:08:30 – Geolocation & Permissions Implementation
03:18:50 – Open Map Integration
03:22:40 – Platform Specifics – iOS Safe Area
03:25:50 – CollectionView & RefreshView Overview (slides)
03:34:00 – Implementing Pull-to-Refresh
03:40:00 – CollectionView Layouts – Grids and more
03:41:30 – CollectionView EmptyView
03:45:00 – App Resources, Styles, and Themes (slides)
03:56:20 – Implementing Light & Dark Mode
04:06:00 – Thanks, wrap-up, and resources

Corrections:
00:45:30 Recommended to set TextColor=”Gray” on Label
01:30:00 [AlsoNotifyChangeFor] is now [NotifyPropertyChangedFor]
01:51:00 [ICommand] is now [RelayCommand]

Join this channel to get access to perks:
https://www.youtube.com/channel/UCENTmbKaTphpWV2R2evVz2A/join

👕 Buy some swag! – https://jamesmontemagno.myspreadshop.com/
☕️ Buy me a coffee – https://www.buymeacoffee.com/jamesmontemagno

Follow:
👨‍💻 GitHub: https://github.com/jamesmontemagno
🦜 Twitter: https://twitter.com/jamesmontemagno
📄 Website: https://www.montemagno.com
📰 Newsletter: https://newsletter.montemagno.com/

Disclaimer: This channel, videos, and streams are created in my spare time and are a product of me… James Montemagno! They are NOT officially affiliated or endorsed by Microsoft (my employer) in any way. Opinions and views are my own.

My Setup:
📷 Canon M50 Mark II – https://amzn.to/3P8R7lp
💡 Nanoleaf Elements Lights – https://amzn.to/3umwJVW
🎙 Blue Spark Microphone – https://amzn.to/3qgtYkq
🎙 Blue Pop Filter – https://amzn.to/3jEWM3r
🤳 Rode Microphone Arm – https://amzn.to/2Z68AlE
🎧 Sony MDR7306 Headphones – https://amzn.to/372jxta
📲 Stream Deck – https://amzn.to/373Uk1n
🖱 MX Master 2S Mouse – https://amzn.to/3d7J2gj
⌨️ Tecware Phantom Keyboard – https://amzn.to/3aUP4y9

#dotnetmaui #dotnet #beginners #workshop #ios #android #windows