I’m in the same boat at moment.
coming from Delphi, Winforms look more natural to me, but not sure of the future.
I think the learning curve from WPF is much higher.
Microsoft has also announced a Winform Designer for NET3 so I think I will go this way.
For me WPF is a “black hole”
And I’m another - basically a novice - who would love to hear from our experienced colleagues on the pros and cons of WinForms versus WPF.
I was tempted to teach myself WPF but my first impression (probably wrong) is that it was less flexible, and more difficult to learn, than WinForms. (I, too, came from Delphi originally.)
Winforms and WPF.
They are both - according to Microsoft - legacy.
And both supported for Windows only on .Net Core.
I personally never left WinForms as I only program for Windows and all my applications run on terminal servers, where WinForms performs better than WPF (as WPF uses the 3D engine).
If you want multi platform on .Net core, you have to try some third party tool or build a web application.
That’s interesting, Theo. What does Microsoft consider to be “current”?
For the forseeable future I’ll only need to develop for Windows, so WPF or WinForms are both in the running. I also develop for microcontrollers, but obviously this question isn’t relevant to them.
And I have to add Blazor - or WebAssembly (WASM) for elements - because this seems to be the way that Microsoft is heading - everything in the browser.
And honestly, I hate it. I still haven’t come across a browser-based UI that is anything like as rich and functional as can be delivered with WinForms. I don’t know if that’s because of limitations in the technology, or the current trend towards touch-friendly UIs, which I detest when I’m trying to use them on my mouse/keyboard based workstation. But anyway, I mourn the passing of rich WinForms UIs.
Reading here (in the comments) I don’t think that winforms is legacy.
the comment I mean:
We at Microsoft do not see Windows Forms as a “legacy” stack. We started heavily investing in this area by open sourcing it, moving to .NET Core and integrating with modern offerings such as App Center, MSIX, XAML Islands, etc. Windows Forms will be supported in the future platform .NET 5 that will be released in November 2020 and will receive all the latest updates, new language features, performance and runtime improvements.
I still prefer winforms, easy and fast.
But not suitable for a beautiful UI or DPI scaling - for that you need WPF.
(Winforms can do some DPI scaling, but it remains an added feature).
So my advise (completely biased) for Windows applications:
Understand. But uniGui framework is not about embedding chrome or a browser in a desktop app.
It is actually for making a server for making browser-server applications. It encapsulates ExtJS very nicely so we can develop web applications just like what we use to do with VCL. I found it very easy to use.
I am curiously that if in .NET world there is a similar framework.
I consider uniGui and mORMot the best two gems from Delphi world.