.NET MAUI Step by Step Build

Поділитися
Вставка
  • Опубліковано 5 жов 2024
  • 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

КОМЕНТАРІ • 167

  • @J_u_r_i
    @J_u_r_i 8 місяців тому +6

    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 4 місяці тому

      What will the process be like when I install the program on a real phone?

  • @AcademiaCS1
    @AcademiaCS1 4 місяці тому +2

    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 роки тому +4

    Your personality forces me to like the video before even watching it ...great content from a great person.

  • @maroquio
    @maroquio 2 роки тому +10

    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!

  • @shanselman
    @shanselman 2 роки тому +4

    Fantastic job Les

  • @TeodorSpiridon
    @TeodorSpiridon 2 роки тому +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.

  • @xacompany
    @xacompany 2 роки тому +5

    Happy to attend your .Net Maui Course

  • @MohsenKarbassi
    @MohsenKarbassi 2 роки тому +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 роки тому +1

    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 роки тому +7

    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.

  • @sashamugs
    @sashamugs 2 роки тому

    first project I've done with you. this is the beginning of a beautiful parasocial friendship

  • @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 4 місяці тому

      yazılan herşey doğru çalışıyor iyi takip et

  • @demetrischristopoulos1973
    @demetrischristopoulos1973 6 місяців тому

    Σε ευχαριστώ για την προσπάθεια και την εξαιρετική δουλειά που έχεις κάνει, σε άλλο ένα βίντεο σου!!!

  • @coder185
    @coder185 2 роки тому +4

    Great tutorials, Could you please add your timestamps in the youtube video? (so that they are clickable in the video screen)

  • @SimpMcSimpy
    @SimpMcSimpy Рік тому +1

    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

  • @charleswamuti3554
    @charleswamuti3554 Рік тому +5

    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)?

  • @razzawazza
    @razzawazza Рік тому

    Buzzing when I heard your accent. Cheers for the video mate.

  • @rabnif
    @rabnif 2 роки тому +3

    Thank you for the continued content :^)

  • @maroquio
    @maroquio 2 роки тому +1

    Thanks for one more fantastic tutorial, buddy! Just one question... why didn't you need to add Cors things to the request pipeline?

  • @SajadJalilian
    @SajadJalilian 2 роки тому +2

    Thank you Les, You are the best, like always.

  • @qimono76
    @qimono76 11 місяців тому

    ⏲Timestamp: the MAUI project 1:17:17
    kudos for the great tutorial @lesjackson !!!

  • @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.

  • @AbdullahKhan-kd1cv
    @AbdullahKhan-kd1cv 2 роки тому

    Gr8 video Les... its good to know my old WPF skills won't go to waste!!

  • @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.

  • @franciscofernandezcasas7924
    @franciscofernandezcasas7924 Рік тому +7

    I love MAUI, BUT why is Microsoft NOT using MAUI in their own major projects, such as their own flagship applications? Only when Microsoft creates their flagship products using MAUI, the community will feel confident on this product. As that will prove that Microsoft will have to make MAUI successful for making their flagship products successful.

    • @ericritter46
      @ericritter46 2 місяці тому

      i thought the did/migrated azure?

  • @jashanf3
    @jashanf3 Рік тому

    This was a nice lil course man, Thanks!

  • @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

  • @csilipo
    @csilipo 2 роки тому

    goog to see you back! Carlo

  • @worldisone2429
    @worldisone2429 2 роки тому +1

    I always ♥️ your introduction..

  • @mnabbasi648
    @mnabbasi648 2 роки тому

    Thank you- Les Jackson. Good on you.

  • @JarredJ
    @JarredJ 2 роки тому

    Thank you Les! Your videos have been great and I have learnt a lot through them!

  • @SivaKumarAbb
    @SivaKumarAbb 3 місяці тому

    Thank you so much Les

  • @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.

  • @chillydill4703
    @chillydill4703 2 роки тому

    Yes, was waiting for this one!

  • @onurozguzel8747
    @onurozguzel8747 Рік тому

    Thanks a lot for these valuable courses Les! :)

  • @codingbloke
    @codingbloke 2 роки тому +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.

  • @AbdulAziz-xi1lo
    @AbdulAziz-xi1lo 2 роки тому +1

    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 ????

  • @chrisbaker5284
    @chrisbaker5284 Рік тому +1

    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 4 місяці тому

    Woah. It simple but great.

  • @firefox3799
    @firefox3799 Рік тому +1

    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!

  • @davidouellet6126
    @davidouellet6126 Рік тому

    Great tutorial Les.

  • @quicktips3858
    @quicktips3858 2 роки тому +1

    If the layout could be created using C# in a declarative style would be phenomenal! Could had a potential to fight Dart/Flutter...

  • @MrAnders88a
    @MrAnders88a 2 роки тому

    your channel is the greatest

  • @jdg2k6
    @jdg2k6 2 роки тому +1

    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

  • @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?

  • @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.

  • @chriscalver8595
    @chriscalver8595 Рік тому

    Awesome video Les. Did you used to be the guy from Grim Reaper? Haha

  • @DChristop
    @DChristop Рік тому

    So nice explanation!!!

  • @ArmandoTWeb
    @ArmandoTWeb 6 місяців тому

    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.

  • @dhirenpathak
    @dhirenpathak Рік тому

    Great can you make more video on Same as Maui blazor crud in web API ??

  • @reyneerleon3851
    @reyneerleon3851 Рік тому

    Thanks for your courses! you are teaching me a lot! How can I donate you?

  • @BarthObiefuna
    @BarthObiefuna Рік тому

    Lovely! Many thanks!

  • @dp-bhatt
    @dp-bhatt 2 роки тому

    Great work. Thank you so much!

  • @jordansali9435
    @jordansali9435 2 роки тому +1

    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 роки тому +1

      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"
      }
      }

  • @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?

  • @duongtrunghs2925
    @duongtrunghs2925 Рік тому

    great tutorial, thank you so much

  • @percivalgebashe4376
    @percivalgebashe4376 4 місяці тому +1

    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.

  • @abhishekmor6929
    @abhishekmor6929 Рік тому

    Thanks for the amazing tutorial video 👍
    Can you please help me in how to integrate Zoom Meeting SDK in MAUI

  • @balramverma4873
    @balramverma4873 2 роки тому

    What an introduction 😀

  • @adirelfersy3133
    @adirelfersy3133 2 роки тому

    Thanks for a great video! btw, are you planning to review winui3 as well?

  • @asherabecassis9575
    @asherabecassis9575 2 роки тому

    Great video, Thanks.

  • @JamesOfKS
    @JamesOfKS Рік тому +2

    1:19:00 maui starts

  • @raouftoumi6669
    @raouftoumi6669 2 роки тому

    Always great videos

  • @anthonysans-nahort2940
    @anthonysans-nahort2940 2 роки тому

    Really amazing. Thanks

  • @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.!

  • @DanBlackStreams
    @DanBlackStreams 2 роки тому

    What do you recommend for .NET cross platform support with Linux included?

  • @HOSTRASOKYRA
    @HOSTRASOKYRA Рік тому

    Thank you very much

  • @Ahmed-ui5wn
    @Ahmed-ui5wn Рік тому +1

    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 4 місяці тому

      Ahmed What will the process be like when I install the program on a real phone?

    • @Ahmed-ui5wn
      @Ahmed-ui5wn 4 місяці тому

      @@yasin_akar communication with backend via api

  • @youtub3ian728
    @youtub3ian728 Рік тому

    Fantastik !!!

  • @naveenpatel8039
    @naveenpatel8039 2 роки тому

    Fantastic Less👍

  • @ahmadzrein1867
    @ahmadzrein1867 Рік тому

    Thanks for this video

  • @yasin_akar
    @yasin_akar 4 місяці тому

    What will the process be like when I install the program on a real phone?

  • @cusaint3596
    @cusaint3596 Рік тому

    Thank you very much! You look somewhat like Henry VIII.

  • @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!

  • @binaryprofit3464
    @binaryprofit3464 2 роки тому

    Muchas gacias por compartir esta infor!

  • @andrewroyal2043
    @andrewroyal2043 2 роки тому

    thank you, this video is very good.

  • @rdrgox
    @rdrgox 2 роки тому

    Increíble video 🤙🏻

  • @wamcroberts
    @wamcroberts 2 роки тому

    Good video...thanks!

  • @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?

  • @sajadzarenejad5652
    @sajadzarenejad5652 2 роки тому

    great job 👏👏

  • @alialshreef2874
    @alialshreef2874 Рік тому

    Thankes 😇

  • @RonyCuzco
    @RonyCuzco 2 роки тому

    thanks for a good tutorial ;-)

  • @neozoid7009
    @neozoid7009 Рік тому

    awesome video but how can I build the standalone .exe version, ??

  • @Netanyahu-85
    @Netanyahu-85 2 роки тому

    What are the complete steps to create a PayPal adder money program?

  • @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 ?

  • @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?!?!?!?

  • @worbarry9735
    @worbarry9735 7 місяців тому

    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

  • @suhutwadiyo
    @suhutwadiyo 2 роки тому

    Mantap!! Thx ya

  • @Duelweb
    @Duelweb Рік тому

    Just one thing. What is the point of using SQLITE? We need a central database in the real world ???

  • @sirdondaniel
    @sirdondaniel 2 роки тому

    Where are the view models?

  • @abolfazlsanandaji4897
    @abolfazlsanandaji4897 2 роки тому

    Thanks

  • @fridi419
    @fridi419 2 роки тому

    cheers les pal

  • @xchanmolx
    @xchanmolx 2 роки тому +1

    .NET MAUI, thanks

  • @k-r6465
    @k-r6465 2 роки тому

    How about desktop application ?

  • @pablosalas8586
    @pablosalas8586 5 місяців тому

    excellent tutorial!!

  • @deidran2116
    @deidran2116 Рік тому

    Can you look into UNO?

  • @lachef358
    @lachef358 Рік тому

    How to Deploy together with Api to Apk?

  • @yasin_akar
    @yasin_akar 2 роки тому

    So how do I access this database remotely?

  • @leetodd8377
    @leetodd8377 Рік тому

    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.