Question WPF vs. Winforms 2018

Neal

Forum Admin
Staff member
Joined
Apr 15, 2011
Messages
246
Location
VA
Programming Experience
10+
One of those questions that are frequent, annual, and indecisive! When considering a new project in 2018 what platform are you choosing for Windows and why? WPF is the current and future platform, some say, yet Winforms continues to grow by 3rd party vendors (I use Developer Express) as if WPF is not the front runner for Windows development. Obviously there is a steep learning curve with WPF and XAML but are you ever proficient? Is it harder to discover such as features to use in your apps? So I open the question, mainly for my own education, what are people using and why in 2018. How are you choosing WPF vs. Winforms for current and future development?
 
I think the problem is that Windows Forms can do most of what most developers want to do so there's not a great deal of motivation to learn WPF. Our last desktop app at work was WPF and everyone agrees that it's much better, but there was plenty to learn and we're still learning. I didn't have a lot to do with it and we haven't touched it for a while, so I've forgotten some of the partial knowledge I had, so I'd have to learn a fair bit to create a WPF app right now. One thing that I do find somewhat incongruous though is that WPF is considered hard but one of the aims of WPF was to separate form and function and that makes it more like web development, but you don't get the same complaints about web development that you do about WPF. I think one the main issues with WPF is not learning how it works but unlearning how Windows Forms works and getting over the fact that WPF doesn't work the same way.
 
I think one the main issues with WPF is not learning how it works but unlearning how Windows Forms works and getting over the fact that WPF doesn't work the same way.
+1

One of the recent desktop apps I helped create was a hybrid of WinForms and WPF. It was WinForms because of the system tray interactions as well as needing finer grain control over a hosted web browser control in one window, but all the other UI was WPF because it provided better and easier to understand fine grain control over the look and feel of the UI. Talk about needing a split personality when reading the code and trying to remember whether I am reading WinForms section of the code or WPF section of the code. We should have taken advantage of namespaces to make the distinction easier to see at a glance.
 
Back
Top Bottom