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

738,642
0
Published 2022-05-23
See code updates in pinned comment! Code: aka.ms/maui-workshop

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: aka.ms/maui-workshop
- .NET MAUI Website: dotnet.microsoft.com/apps/maui?WT.mc_id=friends-00…
- .NET MAUI Docs: docs.microsoft.com/dotnet/maui/?WT.mc_id=friends-0…
- .NET MAUI on Microsoft Learn: docs.microsoft.com/learn/paths/build-apps-with-dot…
- .NET MAUI Community Toolkit: github.com/communitytoolkit/maui?WT.mc_id=friends-…
- .NET Community Toolkit: github.com/communitytoolkit/dotnet?WT.mc_id=friend…

Relevant Videos:
- .NET MAUI Playlist:    • .NET MAUI for Beginners  
- What is .NET MAUI?    • .NET MAUI Explained: What is it, How ...  
- What is Shell?    • 🐚 Shell for .NET MAUI & Xamarin.Forms...  
- .NET MAUI Shell Navigation:    • .NET MAUI's Navigation for Beginners ...  
- .NET MAUI Dependency Injection:    • Dependency Injection with .NET MAUI E...  
- ListView vs CollectionView:    • Xamarin.Forms ListView vs. Collection...  
- MVVM Source Generators:    • MVVM Source Generators: Never Write M...  
- MVVM Helpers:    • Better MVVM with MVVM Helpers  
- XAML 101:    • XAML for Beginners - Xamarin.Forms & ...  
- MVVM 101:    • MVVM for Beginners: Model-View-ViewMo...  
- Gerald: youtube.com/c/GeraldVersluis
- Nick: youtube.com/c/Elfocrash
- .NET YT: 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:
youtube.com/channel/UCENTmbKaTphpWV2R2evVz2A/join

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

Follow:
👨‍💻 GitHub: github.com/jamesmontemagno
🦜 Twitter: twitter.com/jamesmontemagno
📄 Website: www.montemagno.com/
📰 Newsletter: 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 - amzn.to/3P8R7lp
💡 Nanoleaf Elements Lights - amzn.to/3umwJVW
🎙 Blue Spark Microphone - amzn.to/3qgtYkq
🎙 Blue Pop Filter - amzn.to/3jEWM3r
🤳 Rode Microphone Arm - amzn.to/2Z68AlE
🎧 Sony MDR7306 Headphones - amzn.to/372jxta
📲 Stream Deck - amzn.to/373Uk1n
🖱 MX Master 2S Mouse - amzn.to/3d7J2gj
⌨️ Tecware Phantom Keyboard - amzn.to/3aUP4y9

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

All Comments (21)
  • @JamesMontemagno
    IMPORTANT UPDATES: 1.) 00:45:30 Set the color of the label in part 1 for monkeys to Gray 2.) CommunityToolkit.Mvvm there were some changes in Preview 4, I have updated the readme 3.) 01:51:00 [ICommand] is now [RelayCommand] 4.) 01:30:00 [AlsoNotifyChangeFor(nameof(IsNotBusy))] is now [NotifyPropertyChangedFor(nameof(IsNotBusy))] .NET MAUI is now GA! Go read all about it - devblogs.microsoft.com/dotnet/introducing-dotnet-m… I also want to see your apps as you are following along with the workshop! Tweet at me twitter.com/jamesmontemagno! If you loved the course hit that LIKE button and if you really loved it and want to further support the channel think about hitting that thanks button to tip or join to join in and get membership perks.
  • @Vancouver2010BC
    The quality of the course from all aspects is outstanding. Many paid courses don't even get close to this. I find it strange some people watch it and learn a lot from it and never hit the like button.... yet it doesn't cost them a thing. Thank you James for the outstanding work and effort you put into this.
  • @benhorton6758
    Great course, thank you! My suggestions for additional video topics to cover would be: 1) Localisation and translations for strings. 2) Splash screen and app icon (how to create the images and update the app) 3) Local DB storage and forms (CRUD - maybe creating monkeys, etc...) 4) In app purchases and subscriptions (and giving access to additional areas of the app afterwards) 5) Authentication (maybe using Azure AD B2C) 6) Unit testing
  • It's finally here! Looking forward to complete the full 4 hours. Thank you for your contributions, James.
  • @FredyGuibert
    This is amazing! Perfect timing for my personal project! Thanks James, you are a hero!
  • What a great video ! So far definitely my favourite on MAUI. I love it how it is a deep dive on architecture, MVVM, Navigation and etc. Looking forward to seeing and learning more !
  • @russphilip671
    Thanks so much for this detailed tutorial James! The content covered was super helpful for understanding a lot of the concepts. For me it answered a lot of questions about implementing and gave me some great ideas for simplifying and speeding up projects I'm working on. Really appreciate all the effort you put in for all the content you upload.
  • Probably one of the best tutorials I've ever done. Very well done. Thank you for putting it together.
  • Thanks for all the hard work James. I enjoyed the entire workshop, especially the sections on MVVM and Navigation.
  • @ArafatTehsin
    My gratitude to you for each and every video you create and esp. this great course which is not just making us learn new things in an easy way but also inspiring us to create some really good solutions around it.
  • @hmsiegel79
    Great tutorial James. I really like your presentation/ teaching style. It's very laid back and easy to follow. Also love seeing fellow CLEvelanders!
  • @schurli1614
    I have watched now one and a half hour and this course is amazing!!! Especially that you update the readme so people like me who are watching this video 9 months later have no problem to run this tutorial. Thank you very much <3
  • @Desj1912
    Without any doubt one of the best tutorials I have ever watched. SO good I will watch it again to pick up all the bits I missed the first time.
  • Thank you for a absolutely fantastic course. It really covered the topic well and I learn a stack of new snippets of useful information on top of the new Maui things
  • @BhekiSangweni
    I have never been excited like this before! great work James!...we appreciate your work
  • @mikp1280
    I watched your videos for different topics but now with this complete tutorial it makes so much more sense :)
  • Great to watch someone talk fluent MAUI! This is the most efficient and valuable introduction to a new topic I have ever seen. Thank you!
  • @watsonjoel
    What a fantastic course! I watched the entire thing once and then again with side by side implementation! Loved your explanations on the inner workings of how .Net Maui makes things better. Made my entry into .Net Maui painless and I actually look forward to doing more with the new new.... Cheers!
  • @user-yv6dr3zi3z
    Monsieur James Montemagno, votre contenu est vraiment de qualité supérieur! Merci pour ce cours magistral!
  • @lunesa
    I just came across your channel and I am blown away with the high quality of videos and materials that you have produced. Tutorials, concepts, Github repositories— everything is thoroughly explained and seamlessly formatted, making the learning experience smooth and enjoyable. You are a treasure to the community! Thank you for all the amazing work! 🤩