Is WPF Dead? - The Current State of WPF [2023]

preview_player
Показать описание
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.

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.

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.

00:00 My WPF Background
01:09 WPF Begins its Long Goodbye
01:31 Microsoft Product Manager Statement
02:30 Should You Start New Projects with WPF?
04:45 Can You Continue Using WPF?
05:57 Conclusion - Is WPF Dead?!

📌 WPF Begins its Long Goodbye - Matthew MacDonald:

📌 WPF - GitHub:

📌 What’s new for WPF in .NET 7 (Microsoft Blog):

WPF Alternatives:

📌 Platform Uno:

📌 Avalonia UI:

🔥 C#/.NET Bootcamp: The Fundamentals & more (Code FRIENDS10 for 10% OFF)*

📌 .NET Developer Roadmap

📌 YouTube Playlists:

✅ SUBSCRIBE FOR MORE VIDEOS

🚀 CONNECT & SUPPORT

CREDITS

* Affiliate Link: I earn a small commission at no additional cost
Рекомендации по теме
Комментарии
Автор

Besides Platform Uno, Avalonia (Avalonia UI & XPF) is also an option. I haven't previously used Avalonia myself and therefore didn't think of it while recording. I didn't want to exclude any product or favor one over another. Thanks for your understanding. 🙏

ClaudioBernasconi
Автор

1. WPF's concept is very advanced, it proposed the MVVM pattern around 2008, which is still a popular design pattern today. Due to it's two-way data binding, MVVM became possible. 2. In China's IT labor market, WPF has suddenly become popular again in the past two years. people here consider although MAUI includes Windows, developers generally still use it as Xamarin.Forms, which means jsut for Android and iOS. Using MAUI for desktop Windows software feels awkward, while WPF is mature choice as the Windows desktop version of MAUI. 3. WPF is not dead. but not sure for Winforms I would say.

jxndwl
Автор

All projects are not multi-platform. If developing for windows platform only then WPF is a very good choice in my opinion. Separating UI from application logic is easy in WPF and results in better overall application structure when done properly. MVVM is one choice, we use mostly similar "presenter/view" architecture with a cunning view factory, and the application layer is agnostic to whether or not an UI exists at all.

heikkileivo
Автор

.NET MAUI isn't really ready for windows development, you can't really even create good mouse drags for creator applications in my experience, it's missing a lot of winui functionality.

and Win UI 3 just doesn't work at all for packages and release mode as it will just print out that the xaml dll is missing no matter what you do (issue ongoing for years)

horrorstargames
Автор

Key point for me is at 4:45 - developers do not want to tie their codebase or skillset to just one platform. This is why we have come up with Uno Platform, which extends WinUI ( as successor to WPF and UWP) to all mobile, web and non-Windows platforms.

sashakrsmanovic
Автор

Definitely not dead but like you I would also consider MAUI for new pet projects. For professional or enterprise projects I would probably start with Blazor apps just for ease of maintenance.

MichealColhoun
Автор

Can you make a follow up, showing Avalonia and mentioning Avalonia XPF with which you can run you WPF apps cross platform? You could also then mention WinUI there as well. (Also note MAUI does not support Linux)

MrX
Автор

I really like your channel, but I don't agree to your conclusion that WPF shouldn't be used for new projects anymore. IMO there is no working alternative. Uno is not established yet, still too buggy. Blazor is absolutely great for Web Apps, but not good for desktop applications (e.g. for automation environments where machine parts shall be visualized). And MAUI is at the very beginning, not proven yet. And as we know Microsoft, it is not sure that MAUI will be cancelled from one day to the other.
And as long there is no GOOD alternative, WPF is the best way to go for desktop applications, even for new projects.

ottomaier
Автор

I'm sorry, but I have to disagree and tell you that you're not right. From Microsoft's perspective, it may be true that WPF can only be used for development on Windows. MS promotes its own MAUI project for the development of platform independent applications, which I personally consider to be wrong, as mixing UI description in HTML with C# tends to create a sloppy style.
However, there are several open source projects that allow the development of true multi-platform applications with C# and .NET Core and cover the entire range of possible target platforms. The UI is defined in XAML so that it is possible to port existing applications. I myself use Avalonia UI to create clients for Windows / Linux / macOS, although I actually lean more towards WASM, as these clients also run on mobile devices without any changes.

thomasschroter
Автор

I think it's one of the best solutions for Windows app development, doesn't it?

dmitriyborodiy
Автор

Thank you so much, I've spent 20 days learning C# and i can use it to a good level, but i don't see many videos on how to build desktop programs or games with it. I think C# can be used as a language that can be usefull when you're using other technologies for specific program creations like game engines.

asznee
Автор

You recommend MAUI to large enterprise softwares like erps?

banzeirao
Автор

Hi Claudio, thank for your input for whether to use WPF as of today. I'm trying to build a desktop application that runs on both MacOS and Windows. I'm primarily a .NET developer and just started looking into MacOS desktop app development and I don't have any MacOS app development experience at all. I got my hands dirty with WPF almost 12 years ago and for Windows Desktop development I agree WPF very mature, stable and can still find a lot of documentation on it (been a bit rusty so been looking at documentation again).

zamk
Автор

I might be a WPF groupie - but given it was releaed in 2006 or so, its a near perfect framework.

rinzler
Автор

I'm starting out with c# so newbie here, however one question I have, How are desktop apps made? I looked at WinForms, but in terms of frontend design it looks very basic, and the next being WPF that gives the ability to make a good UI. I might have missed something from WinForms, but what else is out there in terms of creating an applications that allows us to create a modern frontend?

rifle
Автор

So funny I'm using the power of WPF to do things it was not designed for. Here are a few examples:

1) Azure cloud function which uses WPF to allow user to position elements on a video, if a user resizes a rectangle, a call is sent to wpf to recalculate the x, y of other elements

2) Azure function to generate very nice looking pdfs for reporting in commercial real estate using Xaml-> XPS -> PDF

3) using wpf animations to run DMX lighting, hooking into the onchange events of x, y of a dot during animation. Sending this x, y as DMX to lighting fixture.. wpf is now running my nightclub lights

drdream
Автор

Do you still use WPF? What framework version are you using? .NET / .NET Framework? If you migrated: What is your new solution?

ClaudioBernasconi
Автор

When I started a netmaui project and the first thing I had to do, was to disable universal apps signing, it was clear to me, that it will be slow on Windows. I need speed for my apps!

Hellsfoul
Автор

WPF and MVVM have never been popular with develoeprs and are a massively unnecessary complication of something that shouldn't be so hard. There is a reason why more winform apps are still created today than WPF (microsoft stats from telemetry).

allenbythesea
Автор

Why would a developer not targeting Windows only, when there's virtually no market for Linux desktop (no Linux user will pay you a dime) and Apple lags far behind in terms of market shares. (
Also Apple users have different expectations on what an app should look like and behave.

Bob-txhv