.NET MAUI Step by Step Build

  Рет қаралды 200,221

Les Jackson

Les Jackson

Күн бұрын

In this video we perform a full step by step build of a .NET MAUI App that we test on both Windows and Android. The app interacts with a separate .NET 6 API that we also build step by step.
Level: Beginner
🌐 Links 🌐
🎓 Microsoft MAUI Learning Path: docs.microsoft...
💾 GitHub Repository: github.com/bin...
🤩 Patreon Site (Exclusive Member Benefits!): / binarythistle
🎓 My other courses: lesjackson.net/
📕 My Book: link.springer.....
🌲 Linktree: linktr.ee/bina...
🔗 MAUI iOS & Android Confugration: docs.microsoft...
⏲️ Time Codes ⏲️
Theory
0:48 Welcome
03:13 App demo
06:07 Course overview
09:14 Ingedients
10:10 What is .NET MAUI?
12:48 How MAUI works
15:14 MAUI project anatomy
19:47 MAUI App start up sequence
22:29 UI Conepts
28:21 XAML vs C#
30:29 Solution Architecture
31:41 Application Architecture
API Build
35:31 API Project Set up
42:41 API Model definition
44:47 API Db Context
47:13 Connection String
52:19 Migrations
56:31 API Read Endpoint
1:01:58 API Create Endpoint
1:08:15 API Update Endpoint
1:12:57 API Delete Endpoint
MAUI App Build
1:17:21 MAUI App Project Set up
1:21:00 Android Device Manager
1:25:08 MAUI Model definition
1:31:16 Data Service Interface
1:35:40 Data Service Implementation
1:47:27 Data Service Read Method
1:53:34 Data Service Create Method
1:58:48 Data Service Delete Method
2:01:53 Data Service Update Method
2:05:41 Android environment config
2:11:00 Architecture check point
2:11:54 Register MainPage for DI
2:14:13 MainPage code-behind
2:21:03 MainPage XAML Layout
2:30:19 Re-work MainPage layout
2:35:12 Add another page (ManagePage)
2:38:01 Adding a Route
2:30:01 Regiter ManagePage for DI
2:40:29 Complete MainPage code-behind
2:45:12 ManagePage code-behind
2:51:16 QueryProperty
2:57:34 ManagePage XMAL
3:07:56 Run on Windows
3:09:30 Re-work ManagePage layout
3:16:26 Using HttpClientFactory
Outro
3:21:02 Wrap up and thanks
3:21:31 Supporter Credits

Пікірлер: 168
@J_u_r_i
@J_u_r_i 9 ай бұрын
My first 3h+ tutorial which I followed from the beginning to the end...I had no issues with anything and that shows how high of a quality this video is...thanks a lot for making it free available
@yasin_akar
@yasin_akar 5 ай бұрын
What will the process be like when I install the program on a real phone?
@AcademiaCS1
@AcademiaCS1 5 ай бұрын
I think Les Jackson besides of being a passionate engineer, he's good at explaining. Really good. I hope he's ok, working hard and enjoying life. Congratulations Les.
@programmingmadeclear
@programmingmadeclear 2 жыл бұрын
Your personality forces me to like the video before even watching it ...great content from a great person.
@shanselman
@shanselman 2 жыл бұрын
Fantastic job Les
@MohsenKarbassi
@MohsenKarbassi 2 жыл бұрын
I was checking your channel day by day to see if you publish something for .Net MAui ... hot stuff these days.. thanks!
@Duelweb
@Duelweb 2 жыл бұрын
All I can say is : Yes, Yes, Yes !!!!!!! I have been looking for something like this since Maui was released!! Many thanks Les!!!!
@yaKaiZen
@yaKaiZen 2 жыл бұрын
Thanks for your community effort! 🙏All the best wishes to you and your family! 💚 Completed Watching the full tutorial. Looking forward to having more releases on MAUI demonestrating moderate complexity level practical use-case tutorial hopefully soon!
@ever-modern
@ever-modern 2 жыл бұрын
Probably not gonna fit within a 10 hour length.
@xacompany
@xacompany 2 жыл бұрын
Happy to attend your .Net Maui Course
@demetrischristopoulos1973
@demetrischristopoulos1973 7 ай бұрын
Σε ευχαριστώ για την προσπάθεια και την εξαιρετική δουλειά που έχεις κάνει, σε άλλο ένα βίντεο σου!!!
@TeodorSpiridon
@TeodorSpiridon 2 жыл бұрын
Just a note. For me, the DB wasn't initializing, so I added a little helper method that just calls this: context.Database.EnsureCreated(); In case anyone runs into that problem, that's what fixed it for me. This is a great tutorial. Thank you.
@moris-pocketcode5128
@moris-pocketcode5128 2 жыл бұрын
Thank you
@sashamugs
@sashamugs 2 жыл бұрын
first project I've done with you. this is the beginning of a beautiful parasocial friendship
@maroquio
@maroquio 2 жыл бұрын
Just an advice: it does not compile if you use a mapped drive to store/open your project/solution. You will get an error. To avoid this, just open the project using the native path. Regards!
@coder185
@coder185 2 жыл бұрын
Great tutorials, Could you please add your timestamps in the youtube video? (so that they are clickable in the video screen)
@razzawazza
@razzawazza Жыл бұрын
Buzzing when I heard your accent. Cheers for the video mate.
@csilipo
@csilipo 2 жыл бұрын
goog to see you back! Carlo
@maroquio
@maroquio 2 жыл бұрын
Thanks for one more fantastic tutorial, buddy! Just one question... why didn't you need to add Cors things to the request pipeline?
@AbdullahKhan-kd1cv
@AbdullahKhan-kd1cv 2 жыл бұрын
Gr8 video Les... its good to know my old WPF skills won't go to waste!!
@ahmadjehangir1356
@ahmadjehangir1356 2 жыл бұрын
I have learnt so much from you SIR. You are a true INSPIRATION. Sir, I made Maui app after watching your MAUI Tutorial. It's working fine on WINDOWS but not in ANDROID. I debugged the app, and I found that in Android case, it stucks at async await API call and never comes out of it. Can you please tell us what we have to do in CASE of ANDROID when we are calling external (not local) API. Thanks ❤️
@yasin_akar
@yasin_akar 5 ай бұрын
yazılan herşey doğru çalışıyor iyi takip et
@charleswamuti3554
@charleswamuti3554 2 жыл бұрын
Hi. Thanks for the amazing tutorial. I learnt a lot. I have a question; how do you deploy the app (especially that it is using an API)?
@SimpMcSimpy
@SimpMcSimpy Жыл бұрын
This is like 20th Microsoft's GUI library they made past 20 years. I wouldn't spend too much of my time learning this stuff. IMO Flutter is the way to go in mobile app industry.
@st.5693
@st.5693 Жыл бұрын
Good point. MAUI is almost unusable in the real world programming
@qimono76
@qimono76 Жыл бұрын
⏲Timestamp: the MAUI project 1:17:17 kudos for the great tutorial @lesjackson !!!
@mnabbasi648
@mnabbasi648 2 жыл бұрын
Thank you- Les Jackson. Good on you.
@jashanf3
@jashanf3 Жыл бұрын
This was a nice lil course man, Thanks!
@chillydill4703
@chillydill4703 2 жыл бұрын
Yes, was waiting for this one!
@firefox3799
@firefox3799 Жыл бұрын
Very nice work! I'm starting in this amazing world of MAUI and cross-application from embedded programming, nice! Just kindly require what is the best of your video to see in going to APIs knowledge as suggested at 01:03.19. Thanks Les for your effort in sharing such things to all! Fabio.
@SajadJalilian
@SajadJalilian 2 жыл бұрын
Thank you Les, You are the best, like always.
@rabnif
@rabnif 2 жыл бұрын
Thank you for the continued content :^)
@JarredJ
@JarredJ 2 жыл бұрын
Thank you Les! Your videos have been great and I have learnt a lot through them!
@worldisone2429
@worldisone2429 2 жыл бұрын
I always ♥️ your introduction..
@naveedekram3506
@naveedekram3506 Жыл бұрын
Thanks for the great video, it really helps me in understanding its architecture and integration with APIs. I have a request for you to please create a similar tutorial on MAUI Blazor App development as well
@mk-hs7bh
@mk-hs7bh Жыл бұрын
was able to follow & code along. Thanks Les, you went step by step explaining certain .net concepts too along the line.
@SivaKumarAbb
@SivaKumarAbb 4 ай бұрын
Thank you so much Les
@salvcri
@salvcri 24 күн бұрын
Hi! Thank you very much for your video!! Do you know if it is possible connect a MAUI app to usb or BLE devices?
@firefox3799
@firefox3799 Жыл бұрын
One question, at 01:06:51 you copy the name ToDoName, but in JSON written inside Insomnia tool into the POST request you wrote instead toDoName, it is case insensitive? Could you exaplain this point better? Thanks!
@ArmandoTWeb
@ArmandoTWeb 7 ай бұрын
Excellent video, really very good. This is how I wanted to start learning MAUI. But a question, since with MAUI I can make desktop applications for Windows or MAC, why I can't find anywhere how to print reports? Before .NET 6.0 it was easy, but since .NET 6.0 it has been very difficult using WPF. In desktop applications I would like to use MAUI for many reasons, but not being able to print is a problem for me. Any suggestions? Thanks for this tutorial.
@onurozguzel8747
@onurozguzel8747 Жыл бұрын
Thanks a lot for these valuable courses Les! :)
@chrisbaker5284
@chrisbaker5284 Жыл бұрын
Great tutorial as usual Les. In WPF, I can do this: I want to do the same in MAUI (note I have changed the Image size in the button content) can I do so? Also, as you mentioned a large 4k display as a potential reqquirement, in your video; I'd like to know how to resize the main form to fit the monitor too. In WPF this is trivial and fairly obvious. Is it as trivial and obvious in MAUI?
@chienvuvan7156
@chienvuvan7156 5 ай бұрын
Woah. It simple but great.
@evilroxxx
@evilroxxx Жыл бұрын
Les, at 35:04 you mentioned ‘you wouldn’t want to package up the data service and models into a separate project for reusability’. Why is that so? Wouldn’t it actually make more sense to reuse the code in the backend api which can also utilize the same models, dtos, requests, responses etc classes as well as any http api client calls?
@davidouellet6126
@davidouellet6126 Жыл бұрын
Great tutorial Les.
@MrAnders88a
@MrAnders88a 2 жыл бұрын
your channel is the greatest
@codingbloke
@codingbloke 2 жыл бұрын
40:30 installing Sqlite stuff that was just so funny. I wanna use the cool in-vogue CLI (instead of the Nuget manager UI) but its hard to remember the stuff I need to type. So I''ll use a different GUI to find the package (which is exactly what I would have done had I used the Nuget manager UI), then copy and paste the thing I need to type into the cool CLI tool. There were no GUIs when I started coding, there was only CLI. We built GUIs even for tools we as developers needed to make our lives easier. We no longer had to commit to memory a bazillion cryptic command functions and the Cartesian join of the plethora of Cli switches that came with them. I don't understand the modern fixation with using a CLI especially when a perfectly usable GUI is available.
@NemuruYama
@NemuruYama 2 жыл бұрын
Because when you know the way to do it in the CLI, it's probably faster. I also do most things in the GUI, but if you use a program that has a CLI or a GUI very often, using the CLI will most likely be faster. The other reason could be... nerds... they feel like it's part of their blood using the CLI only.
@PWRR
@PWRR 2 жыл бұрын
Agree. That fascination dies quickly when you have to type in multiple case sensitive sub-directories because someone in your group or project is anal about putting everything in its very own directory.
@johnmaguire2185
@johnmaguire2185 2 жыл бұрын
You can run the app on a locally attached iPad using a windows dev environment. Need iTunes and an attached IPad via usb. Obviously cannot build an .exe for distribution without a Mac, but can test it locally.
@BarthObiefuna
@BarthObiefuna Жыл бұрын
Lovely! Many thanks!
@AbdulAziz-xi1lo
@AbdulAziz-xi1lo 2 жыл бұрын
Good video , Can you please make the video with a project very similar to this one but with not minimal Api and Sqlite use Sql server instead ????
@youtub3ian728
@youtub3ian728 Жыл бұрын
Fantastik !!!
@DanBlackStreams
@DanBlackStreams 2 жыл бұрын
What do you recommend for .NET cross platform support with Linux included?
@DChristop
@DChristop Жыл бұрын
So nice explanation!!!
@balramverma4873
@balramverma4873 2 жыл бұрын
What an introduction 😀
@dp-bhatt
@dp-bhatt 2 жыл бұрын
Great work. Thank you so much!
@adirelfersy3133
@adirelfersy3133 2 жыл бұрын
Thanks for a great video! btw, are you planning to review winui3 as well?
@percivalgebashe4376
@percivalgebashe4376 5 ай бұрын
I after following everything to the point 2:28:30 I encountered the error *resource xml/network_security_config not found*. Had to right click on the config xml, select properties, under Advanced, build action, select AndroidResource in the options. Resolved the error.
@asherabecassis9575
@asherabecassis9575 2 жыл бұрын
Great video, Thanks.
@duongtrunghs2925
@duongtrunghs2925 Жыл бұрын
great tutorial, thank you so much
@berniemueller6700
@berniemueller6700 Жыл бұрын
This is a really good tutorial but it does not show how to use MVVM. Are you planning to do a second part of this tutorial in which you will be using the MVVM pattern as well as data binding?
@JamesOfKS
@JamesOfKS 2 жыл бұрын
1:19:00 maui starts
@binaryprofit3464
@binaryprofit3464 2 жыл бұрын
Muchas gacias por compartir esta infor!
@chriscalver8595
@chriscalver8595 Жыл бұрын
Awesome video Les. Did you used to be the guy from Grim Reaper? Haha
@yasin_akar
@yasin_akar 5 ай бұрын
What will the process be like when I install the program on a real phone?
@jdg2k6
@jdg2k6 2 жыл бұрын
Hey Les. I have just spent a total of close to 24 hours (that’s actual time screwing around with visual studio) trying to get a damn Bluetooth app to work in Maui. I have been using Xamarin for years, since it first came out. The fact that I have to jump down, turn around and pick a damn nail of cotton to try and find a solution for Bluetooth that works seamlessly across platforms pisses me off to the point where I want to throw Gates off a damn bridge. Yeah is Super Fantastic to have some buttons and a list of monkeys but when you have REAL worn to do, you can’t do it cause the platform sucks! I am extremely frustrated
@firefox3799
@firefox3799 Жыл бұрын
In order to tes the app in a real Android environment, so a Phone, I think we have to pack the API and the App togeter before doing the deploy on the phone, do you have some video or instructiuon how to do that? Thanks!
@reyneerleon3851
@reyneerleon3851 2 жыл бұрын
Thanks for your courses! you are teaching me a lot! How can I donate you?
@breannathompson9094
@breannathompson9094 Жыл бұрын
I made it to the end, luckily with minimal errors. I think i did mess up the API or networking somewhere, since i do not see the "finish endpoint" tasks on my screen, but the buttons work halfway. When i add a new task, it doesnt seem to add it on the screen. i am still just a beginner so i am not even sure what to do, but i learned a lot while doing this tutorial and im sure i will be able to go back myself and fix it without looking up too much... hopefully soon
@Pevi70
@Pevi70 Жыл бұрын
Same here, even after I cloned the repository, I couldn't get it to work
@keleneenterpriseMedia
@keleneenterpriseMedia Жыл бұрын
Same. I have retyped the whole thing like 3 times and idk what is wrong.
@raouftoumi6669
@raouftoumi6669 2 жыл бұрын
Always great videos
@anthonysans-nahort2940
@anthonysans-nahort2940 2 жыл бұрын
Really amazing. Thanks
@quicktips3858
@quicktips3858 2 жыл бұрын
If the layout could be created using C# in a declarative style would be phenomenal! Could had a potential to fight Dart/Flutter...
@quicktips3858
@quicktips3858 2 жыл бұрын
@@cocacola7535 such a poor boy...
@HOSTRASOKYRA
@HOSTRASOKYRA Жыл бұрын
Thank you very much
@ahmadzrein1867
@ahmadzrein1867 Жыл бұрын
Thanks for this video
@naveenpatel8039
@naveenpatel8039 2 жыл бұрын
Fantastic Less👍
@Ahmed-ui5wn
@Ahmed-ui5wn Жыл бұрын
Shouldn't the app be using MVVM architecture, so that the code behind doesn't include logic (dataservice for example), and thus following the separation of concerns principle. Shouldn't the logic be packed in a ViewModel? Thanks.
@yasin_akar
@yasin_akar 5 ай бұрын
Ahmed What will the process be like when I install the program on a real phone?
@Ahmed-ui5wn
@Ahmed-ui5wn 5 ай бұрын
@@yasin_akar communication with backend via api
@rdrgox
@rdrgox 2 жыл бұрын
Increíble video 🤙🏻
@dhirenpathak
@dhirenpathak Жыл бұрын
Great can you make more video on Same as Maui blazor crud in web API ??
@naigsoft
@naigsoft Жыл бұрын
Muchas Gracias por tu dedicada forma de explicar, lo hace ver todo mas facil!, sin embargo es frustrante esperar tanto tiempo para que el emulador este listo y poder apreciar y probar la aplicacion, si no es que tengas una monstruosa maquina para poder desarrollar , sino el tiempo de desarrollo y depuracion se hacer realmente insoportable, y a esto; ¿Hay alguna modo o extension para Visual Studio para usar un dispositivo real como emulador de android?, una vez encontre en B4A algo parecido como modo bridge entre el lenguaje y el dispositivo, super genial para diseñar y depurar. Saludos desde Chile.!
@abhishekmor6929
@abhishekmor6929 Жыл бұрын
Thanks for the amazing tutorial video 👍 Can you please help me in how to integrate Zoom Meeting SDK in MAUI
@wamcroberts
@wamcroberts 2 жыл бұрын
Good video...thanks!
@andrewroyal2043
@andrewroyal2043 2 жыл бұрын
thank you, this video is very good.
@worbarry9735
@worbarry9735 8 ай бұрын
why at 1:48:08 are we checking if there is internet when we are using a local database i would understand if it was a remote api call but i would like the app to work even if there is no internet
@davidjackson148
@davidjackson148 Жыл бұрын
When I navigate to a new page, that page has to do a bit of set up, I've put it in the OnNavigatedTo, the page is a bit slow while the data loads up. Is that the bext place for it ?
@sman6320
@sman6320 2 жыл бұрын
You keep mentioning a free course on your website for DI. I can only see the course, which costs money. where/how can I enroll for the free DI couse?
@jordansali9435
@jordansali9435 2 жыл бұрын
Hi. Thank you for the very informative video. Just wanna ask how can you connect db from sql server instead of the sqllite coonection you have specified in one section of this video.
@yasin_akar
@yasin_akar 2 жыл бұрын
var builder = WebApplication.CreateBuilder(args); builder.Services.AddDbContext(opt => opt.UseSqlServer(builder.Configuration.GetConnectionString("Default"))); var app = builder.Build(); { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "ConnectionStrings": { "Default": "Data Source=yourservername\\SQLEXPRESS;Initial Catalog=ToDo;Integrated Security=True" } }
@suhutwadiyo
@suhutwadiyo 2 жыл бұрын
Mantap!! Thx ya
@sajadzarenejad5652
@sajadzarenejad5652 2 жыл бұрын
great job 👏👏
@keleneenterpriseMedia
@keleneenterpriseMedia Жыл бұрын
I have built this think like three times and still cannot get the items to display on the main page. Additionally the items are populating as null when I insert them from the ui. I have tried debugging and retyping the whole project. WHAT AM I DOING WRONG?!?!?!?
@cusaint3596
@cusaint3596 Жыл бұрын
Thank you very much! You look somewhat like Henry VIII.
@alialshreef2874
@alialshreef2874 Жыл бұрын
Thankes 😇
@Duelweb
@Duelweb Жыл бұрын
Just one thing. What is the point of using SQLITE? We need a central database in the real world ???
@RonyCuzco
@RonyCuzco 2 жыл бұрын
thanks for a good tutorial ;-)
@fridi419
@fridi419 2 жыл бұрын
cheers les pal
@leetodd8377
@leetodd8377 2 жыл бұрын
can you help me please as I am having trouble everything was going well up to the point I got to the dotnet ef migrations add and the migration file I don't get what you get I just get problems could you help me please
@iMrHammad
@iMrHammad Жыл бұрын
So this is .NET MAUI Step by Step Build Tutorial of 3.5hr aprox. out which first 2hrs were only about how to make a minimal api.
@xchanmolx
@xchanmolx 2 жыл бұрын
.NET MAUI, thanks
@Technology_88888
@Technology_88888 2 жыл бұрын
What are the complete steps to create a PayPal adder money program?
@coder185
@coder185 2 жыл бұрын
My project doesn't build fails the moment i add the EfCore dependency's when going trough the errors and "Fixing" them the Add-migration command doesn't work anymore. Do you know why this is and could you link a github project with a working MAUI EfCore?
@SethStiebinger
@SethStiebinger 2 жыл бұрын
You need to add ef core globally, not to the project.
@garethcraig8902
@garethcraig8902 Жыл бұрын
Great video, but no matter what I do I get a 400 back from httpClient. Driving me nuts. Followed everything to a T and googled. Next up host the API in docker.
@neozoid7009
@neozoid7009 Жыл бұрын
awesome video but how can I build the standalone .exe version, ??
@yasin_akar
@yasin_akar 2 жыл бұрын
very good
@jasminsabanovic869
@jasminsabanovic869 2 жыл бұрын
Why i cant see my application in ios simulator? It opens but it is NOT there ..
@darudeSandstorm.
@darudeSandstorm. Жыл бұрын
Does this also deploy to web?
@yasin_akar
@yasin_akar 2 жыл бұрын
So how do I access this database remotely?
@pablosalas8586
@pablosalas8586 6 ай бұрын
excellent tutorial!!
.NET 6 Minimal API Full Build
2:38:09
Les Jackson
Рет қаралды 129 М.
Starting .NET MAUI Development in 2024 - What You Need To Know
35:18
James Montemagno
Рет қаралды 76 М.
Osman Kalyoncu Sonu Üzücü Saddest Videos Dream Engine 275 #shorts
00:29
Will A Basketball Boat Hold My Weight?
00:30
MrBeast
Рет қаралды 142 МЛН
Иван Патудин - gRPC и его реализация в .NET Core
1:12:57
DotNext — конференция для .NET‑разработчиков
Рет қаралды 10 М.
Mastering .NET MAUI APIs: Building a .NET MAUI Weather App
19:58
Coding Droplets
Рет қаралды 15 М.
Blazor API Client using REST & GraphQL APIs - Full Course
3:01:49
Les Jackson
Рет қаралды 92 М.
Brutally honest advice for new .NET Web Developers
7:19
Ed Andersen
Рет қаралды 238 М.
DHH discusses SQLite (and Stoicism)
54:00
Aaron Francis
Рет қаралды 96 М.
What is the Future of Blazor? Should I Learn Blazor?
22:32
IAmTimCorey
Рет қаралды 57 М.
Daniel Midas NOWY STAND UP 2024 | Pokaz Magi
1:36:11
Daniel Midas
Рет қаралды 2,3 МЛН