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

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
the landscape of different user interface Frameworks for net desktop development offers many different choices what's great for the ecosystem and experienced. net developers can be challenging for novices and people coming from other Technologies into the world of net development the nine most common user interface Frameworks for net desktop development are windows forms or win forms Windows presentation Foundation WPF universal windows platform apps uwp wi ui3 xamarin xamarin forms.net Maui platform moo avalonia UI and Blazer hybrid today I will provide you with the most fundamental information about each of those user interface Frameworks to help you make make a decision on what technology you want to explore I phrased that last sentence very carefully I won make a hard suggestion on what's the best user interface framework or what you should choose for your next project it all depends a lot on context however I want to help you as much as I can and share the information based on 15 plus years of experience with the net platform when forms has been around the longest from all the user interface Frameworks discussed in this video but be aware the age doesn't tell you the truth in this case usually a 20 plus year old technology is considered outdated in software development winforms however is still in development and recently got a new release targeting the net 8 framework released in November 2023 while the forms designer in Visual Studio allows for quick progress making it a great tool for development it often breaks when working on complex dialogues also customization is limited when it comes to implementing the logic controlling the user interface winforms offers code behind files that provide direct access to user interface controls code written like that can become hard to maintain in the long term while winforms is still a viable actually a pretty good choice for building internal applications or configuration tools I wouldn't use it for building public facing applications anymore also wind fors is limited to running on Windows only Windows presentation Foundation WPF is the successor of Microsoft's winforms technology it uses saml in instead of a visual designer to Define user interfaces besides a component oriented model and offering many customization options it's a frequently used and widely adopted user interface framework with mvvm and other code separation patterns WPF is a viable choice for public facing and growing applications I have been using WPF for building applications for almost a decade it has a steep learning curve and many things such as styling components can be done in multiple different ways when using it in a team project I highly suggest using the same technique to solve the same problem every time within the whole code base one of the most prominent issues with WPF is its SAR performance the rendering system is complex and allows for various Hooks and different control styling approaches I'm not familiar with what makes it feel slow but I have seen many complex WPF applications with the typical WPF performance if performance is very important to you and you want to implement complex user interfaces maybe you want to consider something else than WPF similar to winforms WPF is also supported and runs on the latest net 8 version and WPF also only runs on Windows the universal windows platform short uwp uses winrt interfaces to implement user interfaces and access system apis uwp apps offer a more modern approach to Windows app development compared to WPF and winforms the applications can be deployed to Windows PC Xbox Hol lens surface Hub and iot devices using the Microsoft store similar to WPF uwp uses saml to design the user interface but be warned that there are differences between WPF xaml and uwp xaml it's often referred to as different xaml flavors uwp apps can not only be built using C or any other net programming language you can also use JavaScript HTML and C++ to build uwp applications wwp apps run on Windows 10 and windows 11 and they are not Backward Compatible to all the windows versions such as Windows 7 or 8 even though uwp is still supported in most cases you want to consider something else net Maui offers a crossplatform alternative and WPF is still a viable solution for developers familiar with WPF when ui3 is the latest iteration of native Windows user interface controls wiui 2 is part of wwp and wii3 is part of the Windows app SDK compared to win forms or WPF Vu I3 is the most modern user interface implementation there is built-in support for modern input such as touch pen and gam pad which are missing in the previously name Technologies wiu I3 is Backward Compatible and runs on Windows only it's a great choice if you want native look and feel of Windows applications and want to build on the most modern foundation samarin and samarin forms are widely adopted crossplatform for mobile application development Technologies initially developed on mono and later available on theet platform similar to WPF and uwp it uses aaml flavor to implement user interfaces starting as a separate company with the same name samarin was acquired by Microsoft in 2016 while Microsoft initially continued examing forms for a few years it has halted its further development and summer inform form support will end on May 1st 20124 Microsoft proclaims net Maui as its successor at the time of recording net Maui has a few known issues besides net Maui you might want to look at avalonia UI or platform Uno as an alternative to crossplatform mobile application development with net Maui stands for net multiplatform app UI it allows building native crossplatform desktop and mobile apps using a single code base it's developed and maintained by Microsoft and is its latest framework for building user interface based mobile and desktop applications besides Windows Android and iOS it also supports targeting Mac OS it allows you to build mobile and desktop apps for Windows and Apple devices from a single code base all written in C Net Maui was first released in May 2020 based on net 6 it acts as the successor of xamarin and xamarin forms which both will be out of support in May 2024 it also adds the desktop capabilities from uwp but it's not limited to Windows only the lack of Linux support is one of the most discussed issues with the current state of net Maui other issues include user interface controls that are missing in net Maui which were present in samarin forms the overall feedback I got from different people having tried net Maui or are actively developing based on it say it's not ready yet however I'm a positive person and I know know that Microsoft puts a lot of effort into implementing new user interface controls and improving other issues on net Maui so depending on my or the team's previous experience I'd still consider net Maui for future projects alternatives are avalonia UI or platform Uno both which are not developed by Microsoft platform Uno is a crossplatform open- source platform for building native mobile web desktop and embedded apps quickly on a single code base platform Uno supports Windows 7 10 11 Linux and Mac OS for desktop development for mobile applications it supports IOS and Android and you can build web applications using web assembly besides its strong strong crossplatform support it supports all three major. Net develop M IDE is Visual Studio Visual Studio code and chat brains Rider you can Implement user interfaces declaratively using XML flavor or you can use CP to imperatively Define user interfaces platform Uno provides a figma plug-in that allows you to transform figma designs into platform Uno components in a split second platform Uno is one of my go-to solutions for building modern desktop applications on the net platform it's also a viable choice if you want to implement a mobile application and net Maui doesn't work or has issues in your situation one of the unique features of platform Uno when it comes to implementing desktop applications on net is Linux support which is currently lacking on net Maui at the time of recording under the hood platform Uno uses a native stack where possible it uses wiui for Windows skia for Linux and sarine for mobile applications Android and iOS avalonia UI is an open-source user interface framework for the net platform it supports Windows 7 and newer Mac OS Linux iOS Android Samsung Tyson and web assembly similar to platform Uno avalonia UI is one of two solutions in this video that support Linux desktop applications if you are interested in building applications for SmartWatches Samsung Tyson can be interesting to you and make a difference why you want to choose aonia UI over platform Uno however I want to focus on desktop applications in this video avalonia UI also comes with support for visual St Studio Visual Studio code and Jet brains Rider avalonia UI uses exml flavor for its user interface definition compared to platform Uno we cannot use C to imperatively declare user interfaces avalonia UI proclaims to be an ideal WPF successor providing crossplatform capabilities and being very familiar for existing WPF development ERS avalonia UI focuses on a low-level skia implementation as the base for each Target platform instead of using wiui or camarine it focuses on a strong skia based implementation combined with platform specific polyfills it's one of the main technological differences between avalonia UI and platform Uno according to many blog posts of which I featured one in in the video description below avalonia UI is simpler to get started for existing WPF developers compared to platform Uno Blazer hybrid allows the integration of Blazer or razor components into WPF net Maui and winforms applications for the integration of the bler components those three Technologies use a bler web view component to integrate bler components into the host application I'm generally speaking not a friend of using web Frameworks for implementing desktop applications for example using electron to build JavaScript based desktop applications however using Blazer hybrid might be a great option if you have existing Blazer components or an existing Blazer application net offers many different choices for building net deskt applications from well established and widely used Windows only solutions such as winforms and WPF to crossplatform approaches like avalonia UI or platform Uno and of course there are some in between as mentioned in this video as stated in the introduction of this video I don't want to give an absolute recommendation on what to choose for your next project it all depends on your existing codas and your previous experience with different net Technologies if you want to decide between using avalonia UI or platform Uno for your next project I highly recommend trying them both and finding out what suits your situation best or I recommend reading the article on co-project by Nick poak that I Linked In the video description it's a very detailed blog post that goes into much more detailed and covered in this video however I added my personal experience as well as information gathered from my Professional Network to make this video more than just a feature comparison between all the covered 9net desktop application Frameworks it's definitely a subjective video and I'd still drink a soda with you if you have the opposite opinion or another experience with one of the Frameworks covered in this video no matter what you choose for your next project I wish you all the best and good luck subscribe to the channel to learn more about net development and I will see you in the next video
Info
Channel: Claudio Bernasconi
Views: 23,535
Rating: undefined out of 5
Keywords: .NET, Desktop App .NET, dotnet desktop app, desktop app development, desktop app tutorial, UI framework .NET, UI Framework for .NET, UI Framework for .NET Desktop, WinForms, WPF, UWP, WinUi3, Xamarin, Xamarin Forms, .NET MAUI, Platform Uno, Avalonia UI, Blazor Hybrid, What UI framework?, Choosing a UI framework, What .NET UI framework, dotnet, .NET 8, Claudio Bernasconi, XAML
Id: ze8o-Qa3v7Y
Channel Id: undefined
Length: 16min 12sec (972 seconds)
Published: Tue Dec 19 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.