Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WPF or WinForms for internal tools?

Tags:

.net

winforms

wpf

At my company we develop a number of tools for internal that range from simple utilities to full-blown editors. The priorities for these tools are stability, usability, and turn-around time (meaning how quickly new features can be added).

We've been using WinForms up until now but there's a couple of new tools on the drawing board and I'm weighing up whether we should continue with WinForms or move to WPF. As we control the environment we don't have to worry about .NET versions etc (though we do have to run on XP for the time being).

I'm familiar with the graphical benefits offered by WPF (vector-based, hardware accelerated, skin-ability) but I'm wondering if there are any other aspects of WPF that make a compelling argument for its use over WinForms.

Thanks,

like image 337
Andrew Grant Avatar asked Nov 29 '22 07:11

Andrew Grant


1 Answers

Don't underestimate the learning curve. WPF can be really great to work with, and it can be a nightmare. I've seen WinForms only developers more helpless with WPF then with ASP.NET (even with very little knowledge of web development). While most developers were able to just start working with WinForms and ASP.NET without reading any books, and were productive to some level, this seems to be impossible with WPF.

And don't forget about third-party components. Yes, there are even new players in the market, and years after .NET 3.0 e. g. SoftwareFX finally managed to release their charting solution for WPF (just as an example), but the component market for WPF is still significantly smaller (commercial as well as open source), and often WPF components are still less powerfull than their WinForms counterparts.

I agree that the architecture, e. g. the data binding concept, is great, if you follow a pattern like MVVM, however there is very little documentation in MSDN on best practice e. g. about MVVM, so you will have to point your team to articles on the web and books etc. yourself.

And data binding is already very powerful and actually very similar in WinForms 2.0. It just looks like few people know about and use it to its full potential. (Maybe they only tried it in 1.1 and thought that it was too complicated...)

like image 108
realMarkusSchmidt Avatar answered Dec 13 '22 12:12

realMarkusSchmidt