.NET MAUI Step by Step Build

Поделиться
HTML-код
  • Опубликовано: 4 окт 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.

  • @xacompany
    @xacompany 2 года назад +5

    Happy to attend your .Net Maui Course

  • @demetrischristopoulos1973
    @demetrischristopoulos1973 6 месяцев назад

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

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

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

  • @shanselman
    @shanselman 2 года назад +4

    Fantastic job Les

  • @sashamugs
    @sashamugs 2 года назад

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

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

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

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

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

  • @rabnif
    @rabnif 2 года назад +3

    Thank you for the continued content :^)

  • @qimono76
    @qimono76 11 месяцев назад

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

  • @SajadJalilian
    @SajadJalilian 2 года назад +2

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

  • @chienvuvan7156
    @chienvuvan7156 4 месяца назад

    Woah. It simple but great.

  • @razzawazza
    @razzawazza Год назад

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

  • @AbdullahKhan-kd1cv
    @AbdullahKhan-kd1cv 2 года назад

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

  • @SivaKumarAbb
    @SivaKumarAbb 3 месяца назад

    Thank you so much Les

  • @csilipo
    @csilipo 2 года назад

    goog to see you back! Carlo

  • @worldisone2429
    @worldisone2429 2 года назад +1

    I always ♥️ your introduction..

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

  • @mnabbasi648
    @mnabbasi648 2 года назад

    Thank you- Les Jackson. Good on you.

  • @chillydill4703
    @chillydill4703 2 года назад

    Yes, was waiting for this one!

  • @jashanf3
    @jashanf3 Год назад

    This was a nice lil course man, Thanks!

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

  • @JarredJ
    @JarredJ 2 года назад

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

  • @onurozguzel8747
    @onurozguzel8747 Год назад

    Thanks a lot for these valuable courses Les! :)

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

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

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

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

  • @davidouellet6126
    @davidouellet6126 Год назад

    Great tutorial Les.

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

  • @MrAnders88a
    @MrAnders88a 2 года назад

    your channel is the greatest

  • @BarthObiefuna
    @BarthObiefuna Год назад

    Lovely! Many thanks!

  • @dp-bhatt
    @dp-bhatt 2 года назад

    Great work. Thank you so much!

  • @DChristop
    @DChristop Год назад

    So nice explanation!!!

  • @duongtrunghs2925
    @duongtrunghs2925 Год назад

    great tutorial, thank you so much

  • @asherabecassis9575
    @asherabecassis9575 2 года назад

    Great video, Thanks.

  • @balramverma4873
    @balramverma4873 2 года назад

    What an introduction 😀

  • @binaryprofit3464
    @binaryprofit3464 2 года назад

    Muchas gacias por compartir esta infor!

  • @raouftoumi6669
    @raouftoumi6669 2 года назад

    Always great videos

  • @anthonysans-nahort2940
    @anthonysans-nahort2940 2 года назад

    Really amazing. Thanks

  • @rdrgox
    @rdrgox 2 года назад

    Increíble video 🤙🏻

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

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

  • @andrewroyal2043
    @andrewroyal2043 2 года назад

    thank you, this video is very good.

  • @naveenpatel8039
    @naveenpatel8039 2 года назад

    Fantastic Less👍

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

  • @youtub3ian728
    @youtub3ian728 Год назад

    Fantastik !!!

  • @ahmadzrein1867
    @ahmadzrein1867 Год назад

    Thanks for this video

  • @HOSTRASOKYRA
    @HOSTRASOKYRA Год назад

    Thank you very much

  • @wamcroberts
    @wamcroberts 2 года назад

    Good video...thanks!

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

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

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

  • @chriscalver8595
    @chriscalver8595 Год назад

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

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

  • @RonyCuzco
    @RonyCuzco 2 года назад

    thanks for a good tutorial ;-)

  • @sajadzarenejad5652
    @sajadzarenejad5652 2 года назад

    great job 👏👏

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

    • @quicktips3858
      @quicktips3858 2 года назад

      @@cocacola7535 such a poor boy...

  • @alialshreef2874
    @alialshreef2874 Год назад

    Thankes 😇

  • @cusaint3596
    @cusaint3596 Год назад

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

  • @suhutwadiyo
    @suhutwadiyo 2 года назад

    Mantap!! Thx ya

  • @pablosalas8586
    @pablosalas8586 5 месяцев назад

    excellent tutorial!!

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

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

  • @abhishekmor6929
    @abhishekmor6929 Год назад

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

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

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

  • @yasin_akar
    @yasin_akar 4 месяца назад

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

  • @xchanmolx
    @xchanmolx 2 года назад +1

    .NET MAUI, thanks

  • @fridi419
    @fridi419 2 года назад

    cheers les pal

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

  • @adirelfersy3133
    @adirelfersy3133 2 года назад

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

  • @abolfazlsanandaji4897
    @abolfazlsanandaji4897 2 года назад

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

  • @JamesOfKS
    @JamesOfKS Год назад +2

    1:19:00 maui starts

  • @mehmethanifierenler3612
    @mehmethanifierenler3612 Год назад

    thanks

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

  • @DanBlackStreams
    @DanBlackStreams 2 года назад

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

  • @yasin_akar
    @yasin_akar 2 года назад

    very good

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

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

  • @fanturyP
    @fanturyP 2 года назад

    Excelent

  • @arunas554
    @arunas554 2 года назад

    aww yiss!

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

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

  • @Duelweb
    @Duelweb Год назад

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

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

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

  • @binaryprofit3464
    @binaryprofit3464 2 года назад

    Buen video

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

  • @KirillKirilchik
    @KirillKirilchik Год назад

    it's interesting

  • @Rajeshsingh-ws5th
    @Rajeshsingh-ws5th 7 месяцев назад

    with blazor pls

  • @Netanyahu-85
    @Netanyahu-85 2 года назад

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

  • @k-r6465
    @k-r6465 2 года назад

    How about desktop application ?