DotNet MAUI MVVM: Deep Dive into MVVM Architecture with .NET MAUI

Поділитися
Вставка
  • Опубліковано 1 січ 2025

КОМЕНТАРІ • 103

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

    ⭐ Join Us on Patreon: www.patreon.com/CodingDroplets
    .NET MAUI Tutorial Series:
    ua-cam.com/video/O3-jFuXqASE/v-deo.html

  • @tide_pods_707
    @tide_pods_707 Рік тому +14

    best explanation of MVVM ive ever seen. Thank you.

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

      Thank you so much for your kind comment! I'm glad to hear that you found the explanation of the MVVM pattern helpful.

  • @zakirdev
    @zakirdev Рік тому +4

    Very soon you gonna be Microsoft MVP. Last 6 months I have tried many tutorials. I also completed some Udemy courses. But your teaching is better than any tutorials on Udemy and UA-cam. You are the best. Thank you so much for delivering valuable tutorials for free. ❤❤

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

      Thank you so much for your incredibly kind words! I'm thrilled to hear that you find the tutorials helpful, and I genuinely appreciate your support and encouragement. Your feedback inspires me to continue creating valuable content. Thank you for being a part of this community, and I'm honored to have you as a viewer! ❤️❤️

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

      amen

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

    That's my first video from you and well, I did not have expected to have such a harmonic synergy between explanation and video editing! This really is a game changer! And.. oh yeah, thx for the information btw :D

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

      Thank you for watching our video and for your positive feedback! We're delighted that you found the content engaging.

  • @teriyakov
    @teriyakov 10 місяців тому +3

    New fan here. Brilliant video and very clear and concise explanations. Thank you!

    • @CodingDroplets
      @CodingDroplets  10 місяців тому +1

      Thank you so much for your kind words! I'm thrilled to have you as a new fan, and I'm delighted to hear that you found the MAUI MVVM tutorial helpful.

  • @morsheddld
    @morsheddld 5 місяців тому +2

    truly this tutor is genius ❤. This is my first video watching in your channel so liked it n subscribed and become a fan of u, u r a star . expect more content from you. may god bless you.

    • @CodingDroplets
      @CodingDroplets  5 місяців тому +1

      Thank you so much for your kind words! Happy to hear that you found it helpful. Welcome to the channel, There's plenty more content on the way, so stay tuned! May God bless you too. 😊

    • @morsheddld
      @morsheddld 5 місяців тому +1

      @@CodingDroplets sure my dear, I'm going to watch all of your tutorials. It's really very useful.

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

      Thank you so much!

  • @camilofernandez8765
    @camilofernandez8765 10 місяців тому +1

    Nuevo suscriptor :
    Gracias por enseñar me alegra que haya gente como usted.

    • @CodingDroplets
      @CodingDroplets  10 місяців тому

      ¡Bienvenido, y muchas gracias por suscribirte! Me alegra mucho que hayas encontrado útil el tutorial. Siempre es un placer ayudar y compartir conocimientos con personas interesadas como tú.

  • @saymontonloback6396
    @saymontonloback6396 16 днів тому +1

    This is exactly what i was looking for. Thanks a lot!

    • @CodingDroplets
      @CodingDroplets  12 днів тому

      You are Welcome! I’m glad you found it helpful! 😊

  • @ApurvKumar-u4m
    @ApurvKumar-u4m Рік тому +3

    You are a good teacher keep it up ;)
    For a second I thought you weren't going to use a command and then boom my ocd fixed haha :p good job.

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

      Thank you so much for your kind words and positive feedback.
      Your feedback and support inspire me to keep improving and creating valuable contents.

    • @ApurvKumar-u4m
      @ApurvKumar-u4m Рік тому +1

      @@CodingDroplets I hope you stay like this interactive with people even when you become famous dont forget us ehh :)

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

      Thank you so much for your heartwarming comment! I truly appreciate your kind words and support.
      Interacting with my viewers and building a strong community is essential to me, and I promise that I'll always strive to stay engaged and responsive, no matter how big my channel grows.
      My viewers, like you, are the reason I create content, and your feedback and input are invaluable in shaping the direction of my channel. Your learning and success in your coding journey are my top priorities.
      As I continue to grow, I'll always remember the support and encouragement I've received from viewers like you. I'm committed to maintaining this positive and interactive environment and creating content that's helpful and informative.
      If you ever have any questions, suggestions, or topics you'd like me to cover in my future videos, please don't hesitate to let me know. Your involvement is what makes our community special.

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

    Best explanation for this subject. I was able to understood all your explanations.

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

      Thank you so much for your kind words! I'm delighted to hear that the explanation was helpful and easy to understand.

  • @rohithkumar-bt2jv
    @rohithkumar-bt2jv Рік тому +1

    Observable property really made my work easy.

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

      I'm glad to hear that using observable properties made your work easier! They are indeed a powerful feature in MVVM.

  • @talkathiriify
    @talkathiriify 10 місяців тому +1

    Explanation is more than wonderful.
    Thank you so much.

    • @CodingDroplets
      @CodingDroplets  10 місяців тому

      Thank you for your kind words! I'm glad you found the explanation helpful.

  • @enricoroselino7557
    @enricoroselino7557 6 місяців тому +2

    so you put vm:viewmodel in xaml and also put it on DataContext on code behind

    • @CodingDroplets
      @CodingDroplets  6 місяців тому +1

      In the tutorial, I assign the ViewModel to the BindingContext in the code-behind. This ensures that the ViewModel is correctly bound to the view, allowing for proper data binding and interaction. Thanks for watching!

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

    Thanks you bro for make this video , this helpme alot for my tesis , im building an medical appoiment i this is so helpfull cause im new on maui and mvvm , ty for make my journey better

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

      You're very welcome! I'm thrilled to hear that the tutorial has been helpful for your medical appointment app and your thesis. It's great that you found the content beneficial as you navigate through MAUI and MVVM.

  • @ihsankocak4343
    @ihsankocak4343 2 місяці тому +1

    Your explanation is perfect. Thank you..

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

      You are most welcome! Glad to hear that.

  • @SuchithM
    @SuchithM Рік тому +3

    I think here deviated with MVVM pattern. Listview_ItemTapped used in the code behind instead of view model, is it not the deviation from MVVM pattern ?

    • @CodingDroplets
      @CodingDroplets  Рік тому +4

      Thank you for your comment and bringing up an important point about the MVVM pattern.
      In MVVM, it's generally recommended to handle events and user interactions in the view model instead of the code-behind. This helps to maintain a separation of concerns and keep the view model responsible for the business logic.
      However, it's worth mentioning that the MVVM pattern is flexible, and there can be scenarios where handling events in the code-behind might be appropriate, especially for simpler scenarios or quick prototyping. In that part of the tutorial, the focus might have been more on demonstrating the ListView Tapped functionality.
      That being said, it's a good practice to strive for a more pure MVVM implementation by handling events and user interactions in the view model. This promotes better code organization and testability.
      Thank you for bringing this up, and I appreciate your attention to detail. If you have any further questions or need clarification, feel free to ask. Happy coding!

  • @swamysivakumarYalamati
    @swamysivakumarYalamati 5 місяців тому +1

    that was an awesome video. you are a monster in this tech

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

      Thank you so much for your kind words! Glad to know that you liked the video.

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

    Great video. So much information. I was looking for a part where to attach view to viewmodel instead you created binding context in code behind. This is not pure mvvm. Thank you

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

      Thank you for watching and sharing your feedback with us! We're glad to hear that you found the video informative.
      In an upcoming tutorial, we'll dive into the concept of dependency injection and discuss how it can be used to attach the view model to the view in a more loosely coupled manner.

  • @Ramasanda
    @Ramasanda 9 місяців тому +1

    Thank you for your amazing tutorials. please add a new video about best ways for binding data in mvvm structure. Considering dependency and professionalism.

    • @CodingDroplets
      @CodingDroplets  9 місяців тому

      Thank you for your feedback and for watching the tutorials! I'm glad you find them helpful. Your suggestion for a video on the best practices for data binding in the MVVM structure is excellent, and I'll definitely consider creating one.

  • @blauornuo7060
    @blauornuo7060 2 місяці тому +1

    Thanks for showing. Be safe and right

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

      You're very welcome! 😊 Thank you for the kind words. Stay safe and happy coding!

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

    Really like the way you make the videos.

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

      Thank you so much for your positive feedback! Glad to hear that.

  • @曼巴-z1t
    @曼巴-z1t 8 місяців тому +1

    Can you provide a complete case of data addition, deletion, modification, and search, teacher?

    • @CodingDroplets
      @CodingDroplets  8 місяців тому +1

      Thank you for your comment! I appreciate your interest in seeing a complete case example. While the tutorial focused on the basics of MVVM architecture, I'll definitely consider creating more detailed tutorials that cover these specific operations in the future.

  • @9to5Abroad
    @9to5Abroad 11 місяців тому +2

    Great instructions, thanks!

  • @woolwizard2469
    @woolwizard2469 27 днів тому +1

    i just tried to do the same thing in my App but it just doesn't work for me. In the ListView there will only ever be the datatype of the class i want as ItemsSource displayed as a string because the ItemsSource Property will call the ToString Method on everything, it doesn't know what to do with and it seems, it doesn't know what to do with my class... the only real difference in my app is, that i set the properties of the Employee in the Command function manually for testing purposes. But this should have noe effect on the outcome in my opinion. I even tried to simulate changing the property with an Entry Control but it doesn't change anything. The only time my ListView will show correct data is when using an ObservableCollection instead of a collection of a custom class... i just can't figure out what to do and i rewatched the last part of the video like 15 times already and compared it to my implementation

    • @woolwizard2469
      @woolwizard2469 27 днів тому +1

      ok i managed to fix it by using a ViewCell inside the DataTemplate instead of putting Data directly inside the DataTemplate. I guess some magic behind the scenes happen, which enable the displaying of simple data types like string and numbers without ViewCells but when trying to show images inside a listview and binding the Source Property to something of the DatatTemplate DataType it doesn't work that easily. Phew, that took hours to find out

    • @CodingDroplets
      @CodingDroplets  22 дні тому

      Thank you for sharing your experience, and I’m glad you were able to solve the issue! 😊 You’re absolutely right, when using custom data types in a ListView, a ViewCell inside the DataTemplate is necessary to define how the data should be displayed. Without a ViewCell, ListView relies on the ToString() method for rendering, which is why you were seeing the class name as a string.

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

    I love you my friend you saved me!

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

      I'm glad to hear that the tutorial was helpful for you! Thank You so much

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

    If possible, do a search for a typed text and show the result... and then click on this result and open its details on another screen...MVVM. Thank you

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

      Thank you for your suggestion! Performing a search for typed text and demonstrating the display of search results along with the ability to view details on another screen is an excellent idea to explore the MVVM pattern.
      I'll definitely consider creating a tutorial that covers this scenario, as it's a common and valuable use case.

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

    DO I need to use this model even when I using a database?
    please help

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

      Absolutely, using the MVVM (Model-View-ViewModel) pattern and data binding is still beneficial when working with a database in MAUI. It helps maintain separation of concerns and makes your code more maintainable, even when dealing with data retrieval and storage operations from a database. MVVM can help organize your app's logic and user interface effectively.

  • @ApurvKumar-u4m
    @ApurvKumar-u4m Рік тому +1

    can I request a tutorial ?
    Sometimes you have two viewmodels and you want to pass a value from 1 viewmodel to another one how would you do that?
    I have never seen a tutorial about it.
    In the last bits of this video you were doing something similar but then you were navigating to that page so it wasn't a problem. like : 25:58 where you had empoyeedetailviewmodel and where passing a value.

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

      Thank you for watching and for your tutorial request! We appreciate your engagement and the interesting topic you've brought up.
      To clarify your request, when you mention showing the second view without navigation, are you referring to scenarios where you need to communicate data between two view models within the same page? Or do you have another specific scenario in mind where navigation is not desired?
      Understanding the context of your request will help us create a tutorial that best addresses your needs and provides the most relevant solutions.

    • @ApurvKumar-u4m
      @ApurvKumar-u4m Рік тому +1

      @@CodingDroplets ok so when you have a view A with a viewmodel A and then a view B with a ViewModel B
      Thanks

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

      Thank you for providing further clarification! There are several approaches you can take. Here are a couple of common solutions.
      Using Dependency Injection: You can inject ViewModel A into ViewModel B (or vice versa). This way, both ViewModels can share data directly.
      Event Aggregator Pattern: ViewModels can communicate through an event bus that acts as a mediator. ViewModel A publishes an event containing the data, and ViewModel B subscribes to that event and receives the data when it's raised.
      In our upcoming videos in this series, we'll be discussing in detail about both these options. Stay tuned for the upcoming tutorial, and happy coding!

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

    I’m getting a lot of errors and unexpected using statements that aren’t in the video are required to bind.. could you lend some insight as to why I would be getting an error when I’m trying to populate 11:14

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

      I'm sorry to hear you're encountering errors. You can find the source code for the tutorial at this GitHub repository: github.com/codingdroplets/MauiMvvmDemo.
      I recommend cloning the repository and comparing your code to the one provided in the tutorial to identify any differences or missing components that might be causing the errors.

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

    Really great video I learnt and cleared my basics. I request you to make video on the validations of the employee user input. Thanks.

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

      Thank you for your positive feedback! I'm glad to hear that you found the tutorial helpful and that it cleared your basics.
      Regarding your request for a video on validating employee user input, that's a great suggestion! Validations are an important aspect of application development, and I'll definitely consider creating a video specifically focused on implementing input validations in the context of employee data.

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

      @@CodingDroplets Thank you Sir

  • @hungchip
    @hungchip 11 місяців тому +1

    Hi Master, can you make a Video MVVM work with EF Core 8.0.2? that will is perfect!

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

      Thank you for your suggestion! I appreciate your interest. It's a valuable topic, and I'll definitely consider creating a tutorial on that.

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

    well done , i request you to make a tutorial on crud with sqlite3 also.

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

      Thank you for your kind words and the suggestion! We appreciate your feedback. The idea of creating a tutorial on CRUD operations with SQLite3 in the context of .NET MAUI is a valuable one. We'll certainly consider your request for future content.

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

    great video. easy to follow. thanks.

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

      Thank you so much for your kind words! I'm glad to hear that you found the video great and easy to follow.

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

    Awesome video

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

    I wonder if you could demonstrate a simple store for the employee data to have it persist.

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

      Thank you for your comment! I appreciate your interest in a demonstration of persisting employee data in a simple store. I'm planning to cover topics like data persistence and storage in an upcoming video.

  • @swamysivakumarYalamati
    @swamysivakumarYalamati 5 місяців тому +1

    more videos on community toolkit maui.

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

      Thanks for the suggestion! We'll be doing more videos on the Community Toolkit for MAUI soon. Stay tuned!

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

    You don't share the code 😢

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

      I appreciate your interest! The source code for the .NET MAUI MVVM tutorial is available on GitHub. You can find it at the following repository:
      github.com/codingdroplets/MauiMvvmDemo

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

      thank you @@CodingDroplets🙂

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

      You are very welcome!

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

      how can i select or click on label on collectionview please ?@@CodingDroplets

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

      Are you using Frame inside CollectionView item?

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

    Great video thnkx simplified

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

      Thank you for your feedback! I'm glad you found the video helpful and simplified.

  • @AsifHussain2847
    @AsifHussain2847 10 місяців тому +1

    how to get source code

    • @CodingDroplets
      @CodingDroplets  10 місяців тому +1

      github.com/codingdroplets/MauiMvvmDemo

  • @ЮліяМисюкевич-щ6с
    @ЮліяМисюкевич-щ6с 2 місяці тому +1

    this ain't mvvm lol

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

      The video demonstrates how to implement the MVVM pattern using the CommunityToolkit.Mvvm library in .NET MAUI, focusing on data bindings, ViewModels, and updating the UI dynamically. If there's something specific you think could be improved or if you have suggestions on how to make it more MVVM-compliant, I'd love to hear your thoughts!

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

    There was nothing "deep" about that "dive".

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

      Thank you for sharing your feedback!

    • @mohsenmosahebifrad8939
      @mohsenmosahebifrad8939 10 місяців тому +3

      That's not true. This video is short because tutor did not wasting time by slow typing, correcting errors and obssession with naming convetions. He prepared everything beforhand and cut useless section from his videos.