DEV Community

MemphiZ
MemphiZ

Posted on

The future of WPF?

After Silverlight died a few years ago, Microsoft kept pushing WPF as the successor of WinForms.
WPF looked promising in terms of animations and UI features in general, but it soon turned out that these nice effects come with a prize: they won't run smoothly via remote desktop, not even using Microsofts own RDP protocoll. This makes WPF a bad choice for any application that has to run on a terminal server for example. But nowadays it doesn't feel like WPF is the go-to solution when creating a windows desktop application. Quite the contrary, I see more apps utilizing WinForms these days than WPF. My guess is thats because most companies like DevExpress which provide UI controls for developers, started improving their UI components so any WinForms app can look as good as a WPF app now; and that's without the performance issues as WinForms renders fine via RDP.

Given all these things, do you think WPF actually has a future? Or will Microsoft let WPF die silently, like they did with Silverlight?

Top comments (7)

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

For RDP performance, have you seen this link?

I do not think Silverlight compares directly to WPF. Silverlight was meant to be a competitor to Flash with shims to run on the desktop, not really a desktop tech. At some point they were trying to send the message that your XAML skills from Silverlight will transfer to WPF, so they weren't a wasted effort to learn.

I think MS has made it pretty clear that WPF and WinForms are both on life support. There have been no major updates or improvements in many years. Most advancements (like simpler alternatives to INPC) have come from community or 3rd parties. But they have to keep WinForms and WPF around because the current tech they are investing in -- UWP -- only works on Windows 10.

I couldn't begin to speculate as to what the future holds. I thought WinForms would be long dead by now. So I'm no good at guessing their support decisions.

Collapse
 
memphizzz profile image
MemphiZ

Hi Kasey,

I haven't seen that link yet but its also not exactly the problems we we're facing when running WPF over RDP. Startup times would have been something we could have lived with as our app will be started once the user logs in and keeps running. But the real issue was a lag/delay when the window was resized/moved/animated.

As for "I think MS has made it pretty clear that WPF and WinForms are both on life support.", what makes you think that? I haven't read or heard anything from microsoft where they suggest that these technologies are on life support. But just like you I thought that WinForms would be dead by now.

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

That post also links to a Stack Overflow answer, which has some helpful information and other links regarding rendering performance. But in the end, you may be right that it just isn't predisposed to work well over RDP (without hardware acceleration).

They've made it pretty clear through their silence and lack of updates * that no one is actively working to improve WPF. I believe there was a maintenance update a year or two back. But there has been no work to fix known quality of life issues for many years now. Hence, life support.

* See this post. And keep in mind it was written 6 years ago and nothing has really changed since then.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Ahhhh, WPF. I haven't seen mention of this in a while! It was my first introduction into UX design. Although I've long since left the .NET platform behind me, I've never seen anything that quite provided the smooth, polished development experience of WPF and Expression!

If they improved the backend to improve the performance problems you've described, this definitely might have a future.

Collapse
 
tux0r profile image
tux0r

WPF is a dead end. Windows Forms is still very much alive.

Collapse
 
creed_group profile image
Creed Solutions Group

Just because WPF hasn't seen any updates in a while doesn't mean it's on life support. It is a mature technology that probably doesn't require updates. .NET Core 3 supports WPF. That alone should tell you WPF isn't on life support.

Collapse
 
jwp profile image
John Peters • Edited

Now they're pushing WINUI (the replacement) so yes WPF died years ago even though Microsoft never admitted it. But with what they showed us where Visual Studio Code uses Electron, we now know that node.js won the war against .NET. Now we must ask "Is .NET Dead?". Just one look at NPM software says "Yes". Visual Studio Code proves it.