Special Offer: My C#/.NET Bootcamp Course is out now. Get 10% OFF using the code FRIENDS10.

I have been using WPF to build applications for many years. I even passed a Microsoft certification in 2011 for Windows application development, featuring WPF as the most important technology.

And from 2010 to 2018, I have been doing application development on a WPF application at my day job.


Well, it’s such a long time since I passed that certification exam that I had to look up the year of the certification. It reminded me of how old WPF actually is.

Meanwhile, the world has evolved, and we hear much about Blazor, .NET MAUI, and JavaScript web frameworks. But what’s the state of WPF in 2023? Is WPF dead? Let’s find out together.

Introduction

I’m a Software Engineer with more than a decade of experience on the .NET platform. On this blog and my YouTube channel, you’ll learn all about .NET development.

The Idea for This Video

I recently came across this article by Matthew MacDonald titled “WPF Begins its Long Goodbye”. Matthew writes about WPF transitioning into a community-driven project and added this quote.

“We think of WPF as very mature project, so not that much rapid development is happening in WPF area … We’re going to support this product as long as we have users for that product, so it is not dead.” – Olia Gavrysh, . NET Product Manager

You can find this quote in the YouTube video of the Community Standup of December 2022 (the link contains the exact timestamp).

It is a very interesting and important topic to understand the current state of WPF in 2023, and I wanted to share my personal view based on my own experience.

Should You Start a New Application Using WPF?

The first question that comes to mind when judging a technology’s state is whether you should consider it for building new applications.

Before we can answer this question, we need to make sure we have the same understanding of what WPF is.

WPF is a Windows-only desktop application framework that uses a vector-based architecture meaning the applications can scale from small to big screens and still provide a great user experience. WPF is based on .NET.

WPF uses a declarative syntax called XAML to build user interfaces. You can define controls, components, dialogs, and even animations using XAML and its declarative syntax and attach behavior using C# code.

WPF was introduced in .NET Framework 3.0 in 2006. With the big shift from .NET Framework to .NET Core and later .NET, WPF is still around and can be used with the most current .NET 7 release.

Now we can finally answer the question. I would not recommend using WPF for new applications. Let me explain why. WPF is still a viable technology, and you can use the latest version of .NET. Existing applications can be modernized and use the power and performance benefits new .NET versions offer.

However, XAML is specific to Microsoft technologies, and almost all XAML-based technology has its own dialect making the transition between those technologies or code sharing more complex than you might think.

Another very important limitation of WPF is that its Windows-only. You need a Windows computer to develop WPF applications, and you can only run them on Windows computers. In 2023, I don’t want to build a new application on Windows-only technology.

Can You Continue Using WPF?

This takes us to the next important question. Can you continue using WPF? The answer is a big yes. Yes, you can modernize your applications, use new features, and benefit from performance improvements in new .NET releases.

There is a blog post on the .NET Blog that specifically highlights the WPF changes in .NET 7. Microsoft is committed to maintaining the technology as long as there are developers using it.

I definitely see WPF as being in maintenance mode. The project becomes more and more community-driven, so we get more opportunities to fix bugs that didn’t get attention in the past. However, we shouldn’t expect big innovations or too many new features.

The biggest hurdle would be to migrate an existing WPF application from the .NET Framework to the modern .NET world, but if you can make it work, I’m sure you can continue the WPF journey for many years to come.

Is WPF dead?

So, the golden question remains. Is WPF dead? I have to say no because you can build new WPF applications on .NET 7, the latest .NET release at the time of recording this video. 

However, would I recommend building a new application on WPF? No, I would not. I would always suggest using Platform Uno or Avalonia UI for desktop development or Blazor or .NET MAUI when shifting towards web or multi-platform solutions.

If you want to dig deeper, check out the WPF GitHub repository, where you’ll find the source code, open issues, and discussions.

If you made it this far, consider subscribing to my YouTube channel to learn more about .NET development.

 

Claudio Bernasconi

I'm an enthusiastic Software Engineer with a passion for teaching .NET development on YouTube, writing articles about my journey on my blog, and making people smile.