9 UI Frameworks for .NET Desktop App Development [2024]

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ส.ค. 2024
  • The landscape of different user interface frameworks for .NET desktop development offers many choices.
    What's great for the ecosystem and experienced developers can be challenging for novices and people getting into .NET from other technologies.
    I will provide the most fundamental information about the 9 most common user interface frameworks for .NET desktop app development to help you decide what framework to explore.
    00:00 Brilliant Introduction
    01:29 Windows Forms (WinForms)
    02:49 Windows Presentation Foundation (WPF)
    04:35 Universal Windows Platform Apps (UWP)
    06:06 WinUi 3
    06:54 Xamarin/Xamarin Forms
    08:00 .NET MAUI
    09:54 Platform Uno
    11:41 Avalonia UI
    13:38 Blazor Hybrid
    14:24 Conclusion
    🔥 C#/.NET Bootcamp: The Fundamentals & more (Code FRIENDS10 for 10% OFF)*
    claudiobernasconi.ch/dotnet-c...
    📌 Multiplatform XAML/C# Miracle Package: Avalonia. Comparing Avalonia to WinUI based Solutions (Nick Polyak/Codeproject):
    www.codeproject.com/Articles/...
    📌 .NET Developer Roadmap
    claudiobernasconi.ch/learn-do...
    📌 TH-cam Playlists:
    The FREE Blazor Crash Course: • The FREE Blazor Crash ...
    Blazor: • Blazor
    ✅ SUBSCRIBE FOR MORE VIDEOS
    Subscribe: 🔔 claudiobernasconi.ch/Subscribe
    🚀 CONNECT & SUPPORT
    Twitter: / chbernasconic
    Blog: claudiobernasconi.ch
    Newsletter: claudiobernasconi.ch/newsletter
    * Affiliate Link: I earn a small commission at no additional cost
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 78

  • @sealsharp
    @sealsharp 24 วันที่ผ่านมา +6

    I work with WinForms a lot and it's got some really heavy flaws:
    * It was never made with UI scaling in mind, so all attempts to deal with that are non-perfect.
    * It's layout system is designed around bounding boxes which severely limits what can be done visually in terms of transparency, positioning, overlap etc. The event driven architecture does not fit well with animations and it's software rendered.
    So, why is it still great?
    * it is the UI with the smallest overhead because it's just wrapper classes around windows elements.
    * it's visual simplicity around bounding boxes makes it totally fine to be software rendered
    * it's software rendered which means it is so easy to custom draw controls and content and it has no complications from remote access.
    * it's all C#, no xml no xaml, no javascript, no html, no css required to design a ui.
    Winforms is still heavily used in industrial automation because practical application design is constrained in the use of colors (red =error, yellow=warning, green = fine, white|black|grey = neutral) and no one gives a shit about the beauty of a liquid-like mouseover on a beautiful button over an acrylic glass background. WPF never really got to replace WinForms there because the separation of roles (Coders code, designers design XAML) does not exist in that space and because of its simplicity, WinForms has more components available than WPF.
    Everything after WPF could not replace WinForms because all the ways to design Windows-APPs creates apps that behave like apps in an app container with minimized access to native resources and minimal control over their own state which makes it impossible to use for an industrial application.
    Winforms is and will probably stay the workhorse for a lot of unsexy but useful applications that will never shine on any stage.

    • @ClaudioBernasconi
      @ClaudioBernasconi  24 วันที่ผ่านมา +2

      I love your detailed comment and all your explanations! What a piece. Happy to pin this answer!

  • @3d2dMuke
    @3d2dMuke 5 หลายเดือนก่อน +4

    Thanks for the video. I would recommend adding some sort of separator between video sections for your next video, as to clearly tell the user you will be switching to another UI system

    • @ClaudioBernasconi
      @ClaudioBernasconi  5 หลายเดือนก่อน

      Great suggestion! I will keep it in mind for my next video with this style. Thanks for watching.

  • @yourname_1101
    @yourname_1101 5 หลายเดือนก่อน +4

    Excelent video, I was searching for a good UI for Linux and Windows apps, Thanks!

    • @pakkerto
      @pakkerto 4 หลายเดือนก่อน

      avalonia ui

  • @emmadkareem5247
    @emmadkareem5247 5 หลายเดือนก่อน

    Excellent video. Your video should be viewed for anyone who wants to get into Computer Science!!! The future is !!!!

  • @collynchristopherbrenner3245
    @collynchristopherbrenner3245 5 หลายเดือนก่อน +1

    Solid overview, I appreciate this a lot! I have been attached to using HTML/CSS for front-end but with my choice to code primarily in C# it is looking like Blazor Hybrid MAUI is not ready and that I need to go with XAML , either Avalonia UI or Platform Uno. I appreciate your link to the article as well! About to go read it.

    • @ClaudioBernasconi
      @ClaudioBernasconi  5 หลายเดือนก่อน +2

      Glad it was helpful! Avalonia UI and Platform Uno are great choices! With Platform Uno you can now also define your UIs with C# markup instead of XAML. You can also look into Blazor Hybrid with WPF. With this combination, you have a solid technology (WPF), and the modern HTML/CSS UI framework with Blazor. I haven't tried this combination, but I know that it's possible to use it like that. So many choices - I hope you'll be able to find what works best for you.

  • @trueblue97
    @trueblue97 6 หลายเดือนก่อน

    Very informative, thanks!

    • @ClaudioBernasconi
      @ClaudioBernasconi  6 หลายเดือนก่อน +1

      Thanks for letting me know. 🙂

    • @trueblue97
      @trueblue97 6 หลายเดือนก่อน

      @@ClaudioBernasconi No worries!

  • @allinvanguard
    @allinvanguard 7 หลายเดือนก่อน +2

    Great collection. What is your take on Blazor PWA? I'm a web developer, so I don't have much exposure to the desktop field, but I'm curious what the current opinion on desktop PWAs is?

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน +1

      Great question! 🤔 I haven't worked with PWAs in production. I believe they have their place but I don't know what their current state is. For me, it often makes sense to have a native (desktop) app or a regular web app (Blazor). PWA adds optional functionality but I wouldn't bet on users' having all those features enabled in all browsers.

  • @marna_li
    @marna_li 7 หลายเดือนก่อน +1

    What is great with Uno is that it is a cross-platform port of WinUI that fills important gaps for the Windows-only technology. Now being able to target other platforms, in particular mobile, with one app platform.

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน +1

      Great to hear it works for you. Thanks for sharing your experience with the community.

  • @adam-xt8te
    @adam-xt8te 16 วันที่ผ่านมา +1

    No sample applications? Why this video exists?

  • @tmlyrical4298
    @tmlyrical4298 3 หลายเดือนก่อน +1

    Which I use Avalonia Or Uno ? Beginner ( not recommend easy - i only focusing in future also to get profit and stable on one )

  • @Att4ni
    @Att4ni 5 หลายเดือนก่อน

    Very informative, thank you! Can you use these with Windows Powershell, since it is technically based on .NET?

    • @ClaudioBernasconi
      @ClaudioBernasconi  5 หลายเดือนก่อน

      I don't know about that, I'm sorry. Try it and let us know if it worked. 😉

  • @francoislepron2301
    @francoislepron2301 3 หลายเดือนก่อน

    I am interested in Uno or Avalonia because I have to develop applications for embedded devices running a Linux OS (Yocto TorizonOS). Uno seems to work pretty well on an arm64 bits processor with a small touchscreen 7''.

  • @GuildOfCalamity
    @GuildOfCalamity 7 หลายเดือนก่อน +2

    Would love to see you do some WinUI3 tutorials.

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน

      It is not on top of my list right now, but we'll see. Thanks for your recommendation.

  • @Gusmdq33
    @Gusmdq33 หลายเดือนก่อน

    Thank you very much for the video, very very good ;) I would like to ask you, I am a visual basic programmer and I was asked to create a stock management and billing program for the desktop but that can be used from the cell phone. What would be the best Avalonia platform? Or which one do you think is the most appropriate? Kind regards.

    • @ClaudioBernasconi
      @ClaudioBernasconi  หลายเดือนก่อน +2

      @@Gusmdq33 thanks. Maybe Avalonia or Platform Uno. Blazor Hybrid is also an option if you prefer HTML and CSS over XAML.

    • @Gusmdq33
      @Gusmdq33 หลายเดือนก่อน

      Thank you very much for your prompt response ^_^ I have had good comments about Blazor, it would be something interesting to investigate. I consult you again. Can Blazor use the full potential of WPF to make a desktop application? Or what would be the essential basis for choosing it. Thanks for your time. Kind regards.@@ClaudioBernasconi

  • @ClaudioBernasconi
    @ClaudioBernasconi  7 หลายเดือนก่อน +6

    What is your preferred UI Framework for .NET desktop application development? 🤔

    • @quantume7143
      @quantume7143 7 หลายเดือนก่อน +1

      Blazor hybrid

    • @evelop3625
      @evelop3625 7 หลายเดือนก่อน +1

      Blazor Hybrid

    • @99MrX99
      @99MrX99 7 หลายเดือนก่อน +3

      I really like Avalonia 😊

    • @pakkerto
      @pakkerto 6 หลายเดือนก่อน +1

      WinUi 3

    • @Al-mansur1999
      @Al-mansur1999 6 หลายเดือนก่อน

      imgui

  • @jxndwl
    @jxndwl 7 หลายเดือนก่อน +1

    It worth to mention that Lunacy is powered by Avalonia ! Lunacy is Figma-like graphic design software, which can be run fluently on Avalonia on a Raspberry PI machine! This shows how good performance optimization of Avalonia is against WPF, thanks to the Skia. Chrome, Firefox and more are powered by Skia! AvaloniaUI + Meadow seems a good choice combination for IoT client project runs on embeded Linux device! Hardware grab money faster than software 😃

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน

      Thanks for sharing your experience and this interesting case study with us! I don't have much experience with Avalonia UI but I plan to change that in the future.

  • @MegaToyy
    @MegaToyy 7 หลายเดือนก่อน

    Not too bad😊

  • @RoadTalksByRizwan
    @RoadTalksByRizwan 2 หลายเดือนก่อน +1

    What a ZOMBIE Accent. DUDE! you forgot to BLINK😂

    • @ClaudioBernasconi
      @ClaudioBernasconi  2 หลายเดือนก่อน

      I appreciate your feedback. 😉

  • @OmbasaMukhwami
    @OmbasaMukhwami 7 หลายเดือนก่อน +1

    I have mostly used winforms

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน +2

      WinForms has been great and still does it's job in many cases. 👍

  • @DeepWorksStudios
    @DeepWorksStudios 7 หลายเดือนก่อน +5

    Maui is definitely not production ready for real world applications that may get more complex than the samples from Microsoft. I’ve been using it since it’s GA Release back 2022 and I’ve been reporting since that day multiple issues. I still got hope but it’s hard to believe this should be used in real world projects at this stage of the framework.

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน +2

      Thanks for sharing your real-world experience. Let's hope it will change in the future. I know many talented developers are working on resolving the most important issues right now.

    • @donald7941
      @donald7941 6 หลายเดือนก่อน +2

      I agree with you 100%. I made the mistake of developing a production app with MAUI. At first it worked well, but it has not scaled well, and has so many framework level errors that have introduced very obscure, and almost impossible to debug problems.

    • @lodgical1234
      @lodgical1234 5 หลายเดือนก่อน

      I agree 100% too MAUI needs more work because of its many issues and bugs it’s not ready and should be developed more by Microsoft

    • @whatinthebloodyhell
      @whatinthebloodyhell 5 หลายเดือนก่อน +1

      MAUI did improve a lot in recent releases though.

    • @donald7941
      @donald7941 5 หลายเดือนก่อน +1

      @whatinthebloodyhell I haven't MAUI in maybe 2 months, I'll have to try with the more recent release. One problem is there's some issues that occur because the project was started with an older version. Mostly got those issues cleaned up but overall it's been a painful process the past year and a half

  • @user-ov5lg5vj9h
    @user-ov5lg5vj9h 5 หลายเดือนก่อน

    Agree MAUI is not production ready. Blazor is good. Avalonia UI is good.

    • @ClaudioBernasconi
      @ClaudioBernasconi  5 หลายเดือนก่อน

      Thanks for sharing your experience with us.

  • @tensorfly4508
    @tensorfly4508 6 หลายเดือนก่อน

    part_1
    But how about using

    • @tensorfly4508
      @tensorfly4508 6 หลายเดือนก่อน

      part_2
      .NET

    • @tensorfly4508
      @tensorfly4508 6 หลายเดือนก่อน

      part_3
      for native

    • @tensorfly4508
      @tensorfly4508 6 หลายเดือนก่อน

      part_4
      Android development?

    • @tensorfly4508
      @tensorfly4508 6 หลายเดือนก่อน

      part_5
      If I'm not mistaken

    • @tensorfly4508
      @tensorfly4508 6 หลายเดือนก่อน

      part_6
      MAUI is a successor of Xamarin Forms, not Xamarin Native.

  • @tensorfly4508
    @tensorfly4508 6 หลายเดือนก่อน

    Test.

  • @gofudgeyourselves9024
    @gofudgeyourselves9024 7 หลายเดือนก่อน

    Please do a WinUI3 course with zero to mastery

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน +1

      Thanks for the recommendation. I will consider it. I'm glad you enjoy Zero To Mastery! 👍

    • @gofudgeyourselves9024
      @gofudgeyourselves9024 7 หลายเดือนก่อน

      @@ClaudioBernasconi Please do a proper lengthy course on WinUI3, there are no courses for it anywhere

  • @gofudgeyourselves9024
    @gofudgeyourselves9024 7 หลายเดือนก่อน

    Flutter & React Native

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน +2

      It's probably a great alternative for desktop app development. However, the goal of this video was to provide an overview of different .NET-based solutions. 😏

  • @gofudgeyourselves9024
    @gofudgeyourselves9024 7 หลายเดือนก่อน

    Isn't UWP deprecated?

    • @ClaudioBernasconi
      @ClaudioBernasconi  7 หลายเดือนก่อน +2

      Great question. I didn't understand that UWP is "fully" deprecated when recording the video. It seemed like you can still develop apps but there won't come new features. However, after digging deeper because of your comment, it seems like a migration to WinUi 3 using the Windows App SDK is recommended. 👍

    • @gofudgeyourselves9024
      @gofudgeyourselves9024 7 หลายเดือนก่อน

      @@ClaudioBernasconi Thanks for the reply