Pre loader

Is WPF Dead? The Data Says Anything But, here’s why

Categories

Is WPF Dead? The Data Says Anything But, here’s why

TLDR: We review the status of Windows Presentation Foundation (WPF) in 2024 and beyond, whether it’s usage is increasing or declining and if this is a good platform to develop on for the long term. We talk about why WPF is still popular for performance or critical apps, particularly in the scientific, engineering or medical fields, and what alternatives there are for enterprise software development. Plus, our views on the ever changing landscape for desktop or cross-platform application development both now and in the future.

What is WPF?

WPF or Windows Presentation Foundation is a graphical framework by Microsoft for building rich interactive and visually appealing desktop applications. WPF has been around since 2006 where it was first introduced as codename ‘Avalon’ in Microsoft .NET Framework v3.0. Since then, WPF has undergone many evolutions and is actively maintained by Microsoft almost 20 years later! Supporting desktop application development on Windows, WPF is dependent on Microsoft .NET and applications can be built in C# or Visual Basic .NET.

WPF features a declarative markup language known as XAML, allowing clean separation of View (user-interface) and Model (data). It has many benefits such as rich vector graphics, resolution independence, DirectX hardware acceleration, a powerful data-binding engine and the ability to create entirely custom user interfaces or controls via Templates and Styles.

Below we will expand on the reasons why WPF continues to be popular, and what the future holds for this platform.

What are the Alternatives to WPF?

Past & Present alternatives to WPF on the XAML / C# stack in chronological order include:

  • Avalonia (2011 – present), an open source platform XAML / C# framework
  • Xamarin (2011 – 2024), a Cross-platform XAML / C# application framework for building mobile apps and desktop apps, which will be deprecated this year
  • WinRT (2012 – 2015), a Microsoft Windows 8 based replacement for WPF which was ultimately deprecated.
  • UWP (2015 – present), a Microsoft Windows 10 based replacement for WPF which is still active, but somewhat superseded by WinUI
  • WinUI (2018 – present), a Microsoft Windows 10 based successor to WPF
  • MAUI (2022 – present), a Microsoft cross-platform XAML / C# application framework which replaces Xamarin and with a focus on mobile apps
  • Avalonia XPF (iii) (2023 – present), a 100% feature compatible replacement for WPF by the Avalonia team which allows WPF applications to run on Linux and macOS without code changes.

In addition, there are other cross-platform or desktop frameworks that are not based on C#. These include:

  • Flutter: A cross-platform Dart framework for building mobile apps
  • Qt: C++ based user interface framework for cross-platform applications
  • JavaScript / React: Various flavours of JavaScript (or TypeScript) plus React or React Native allow creating cross platform applications

Is Javascript / React a Viable Alternative to WPF?

This article is primarily focussed on Microsoft or Xaml / C# frameworks, however, let’s cover quickly the topic of whether JavaScript / React is a viable alternative to WPF.

There are many applications which were developed on WPF which could be ported to JavaScript. However, there is still a large subset of applications for which WPF is a great choice vs. JavaScript or browser technologies. Those include, applications which require: 

  • Native performance
  • 64-bit memory addressing on the client
  • Multi-threading and making use of all cores on the client

In addition, there are other advantages of developing for WPF, which are listed below.

What are the Advantages of WPF?

As a C# based user-interface framework with a long track record of stability and performance, WPF has many advantages.

Rapid Application Development

One of the reasons WPF continues to be popular, especially in enterprise and industries is the fact you can click File -> New Project in Visual Studio, write an app, compile it, and deploy it by copying to a shared drive or distribute via clickonce installer. It’s fast & easy.

Compared to the tech-stack of JavaScript apps where you will need to learn React, Redux, Typescript, HTMl, CSS, Node, Npm, REST, Websockets, a server platform, database platform, plus deploy your application to an environment before it’s available to others, it’s clear to see why rapid prototyping or building of internal tools tends to favour simpler alternatives such as WPF.

Mature Toolchain

Tools such as Visual Studio provide a visual designer, hot-reload, visual as well as code debugging.

Extensions like Resharper, NUnit or MSTest allow creating testable applications, supporting Test-Driven-Development (TDD).

Finally, third party tools and a rich ecosystem of third party free or paid components & libraries such as charts, graphs, datagrids on NuGet enhance the development experience further.

C# is a Great Programming Language

With it’s dependence on C# .NET it is possible to create powerful multi-threaded thick-client or thin-client applications in WPF, with best practices in software (such as dependency injection, model-view-view-model or MVVM patterns).

With 64-bit memory addressing in C#, near optimal performance and multi-threading you can build complex and high performing applications in WPF.

Build Complex & High Performance Desktop Apps

WPF continues to benefit from advancements in the evolution of .NET – allowing client / server applications with Azure Functions (Microsoft’s equivalent to AWS) to be written in the same language. Performance techniques like SIMD and vectorisation are now available in C#. Multi-threading and async/await as we mentioned before, plus C++ interop if you need to integrate to legacy code or high performance code.

Many users in the scientific, engineering, medical, automotive, motorsports or aerospace industries cannot sacrifice performance, and WPF gives you just that – full access to low level routines which will utilise the most from your CPU / GPU and disk.

How Popular is WPF in 2024?

In 2024, WPF continues to be popular for enterprise software development, with some estimates saying there are a half a million to one million actively developed applications worldwide.

Despite rumours of WPF’s untimely demise, the data shows a different story.

Below are a few data-points talking about the current state of the platform which shed some light on it’s future.

WPF Activity on Github

WPF was partially open sourced by Microsoft in 2018 (ii), and as of today it’s GitHub repository has 6,700 Github stars, 1,100 forks, 142 contributors and over 5,200 commits spanning a 5 year period.

There are active projects such as Avalonia XPF (iii) which are looking to make WPF into a cross-platform framework. More on this below.

Strong support from the community as well as Microsoft means it’s likely that WPF will be here for many years to come.

Google Trend Searches for WPF vs. WinUI, MAUI

Google Trends (i) is a great tool to estimate the relative popularity of something worldwide and see the search trends over time. On it’s own, in a 5-year time period, there is a slight decline in searches for WPF. However, when compared against search trends for competing platforms such as WinUI, MAUI (Microsoft), Avalonia and Windows Forms, WPF continues to be dominant and show relative strength.

Activity for Nuget Packages

Nuget is the package manager for C# libraries including WPF. You can estimate the popularity of WPF vs. other similar frameworks by looking at download trends of popular libraries.

WPF Toolkit: a collection of free open source controls on WPF such as a DataGrid, ColorPicker and Charts has almost 12 million downloads (iv), and continues to uptrend.

Nuget Trends WPF Toolkit

Prism: a popular dependency injection framework has libraries for WPF, Windows (UWP), MAUI and Uno. You can see in the download trends (v), Prism.WPF outstrips all the others by a large margin.

Nuget Trends prism WPF vs WinUI vs MAUI vs Uno

Oxyplot: an open source charting library has implementations for WPF, Windows Forms and Windows (UWP / WinUI). Also here WPF leads the crowd and has the largest number of downloads by all

Nuget Trends for OxyPlot - WPF vs Winforms vs Windows UI

SciChart: provides a high performance WPF Chart Control which was first released in 2012. On NuGet the package has reached 700,000 downloads, and continues to uptrend strongly – quite a lot for a closed-source commercial library!

Nuget Trends SciChart WPF Popularity

Popularity in Enterprise

In 2024, WPF continues to be popular for enterprise software development, with over some estimates showing a half a million to one million actively developed applications and two million developers worldwide.

While not much chatter or excitement for what is no longer a new technology, WPF still has a lot of demand in internal and business-critical applications.

Anecdotally, several recent posters on a reddit topic about the future of WPF (vii) commented very positive things about the framework:

Basically it is a lot more popular than it appears on the outside. WPF is kind of like Cobol. You won’t see many posts about it, but it’s used quite a lot in enterprise and financial institutions for internal applications and tools.

We use it a lot in the automation industry – and after years of using it I like it. We have to live with supporting old WinForms here. It is ok but I like WPF more. WPF is in between the old WinForms and currently still buggy MAUI for me (personally)…

WPF here too, we routinely evaluate alternatives but have never found something that is absolutely better in every way given our requirements.

I’ve been developing WPF desktop applications for the last ten years. I can say that WPF is more popular within “traditional” industries like the banking, medical and defence. So if you see yourself in one of those industries WPF (with MVVM) is a good choice.

Since 2020, I’ve worked on a massive WPF project. If you need to do native windows desktop development, WPF is the best choice in my opinion.

What’s the Future of WPF?

As well as alternative Xaml / C# frameworks, there are some exciting developments which may one day become the future of WPF. One of them is Avalonia’s XPF (iii). Brought to you by the Avalonia team, this is a 100% compatible replacement for WPF’s low level code which runs entirely on Linux and macOS. Users have reported being able to re-target a WPF application using Avalonia XPF in minutes and compile / deploy to macOS & Linux.

Mobile (iOS / Android) and web browser support is on the roadmap from the XPF team, meaning one day we could see a truly cross-platform version of WPF.

Cross-platform may be low on many enterprise WPF developers wish-lists however being able to port applications to Linux just be retargetting / recompiling is a huge value-add for organisations that require the highest possible performance, or OEM deployments into embedded systems which require Linux. Plus, by replacing the legacy DirectX9 renderer with OpenGL / Vulkan, Avalonia XPF conveys several advantages and shows a positive evolution in WPF.

Below here’s a prototype showing SciChart WPF running on Linux under Avalonia XPF. Our team has been actively investigating this and cross-compiling our C++ engine to Linux, abstracting all DirectX calls to OpenGL. We hope to make an announcement soon that SciChart will be available on Linux & macOS under XPF, allowing to developers of embedded systems, OEM applications and performance-heavy scientific and medical applications to target this platform.

SciChart WPF Linux under Avalonia XPF
Above: SciChart on Linux! Using Avalonia XPF, plus an internal build of our cross-platform engine, we are able to run SciChart’s High Performance 2D & 3D Charts on Linux and macOS

Conclusion

Is WPF Dead?

Far from being dead, we believe WPF will be here for years to come. Here are the key reasons why:

  • WPF has stood the test of time and is still active in enterprise software development 18 years after first release
  • It continues to be compatible with the latest versions of Windows and no sign this will change.
  • WPF is now open source, and has an active Github repository with hundreds of contributors, thousands of stars
  • Google Trends and NuGet data show WPF packages continues to outpace alternatives in the C# / XAML space such as MAUI / WinUI
  • Exciting projects such as Avalonia XPF extend the lifespan of existing WPF apps, allowing them to target multi platforms such as macOS and Linux and in future, iOS / Android / Browser

Finally, Our Roadmap

We are making steps now to make the SciChart library platform agnostic and as a first step, will be releasing a version of SciChart to support Avalonia XPF soon.

This will be a drop-in replacement, allowing applications which used SciChart WPF to ‘Just Work’ on Linux or macOS without code changes. We’re excited about this step in our evolution as a large proportion of our customers build for embedded devices, OEM systems or require the highest possible performance – which Linux helps to provide.

From a commercial point of view we are personally yet to see the demand for platforms such as WinUI or MAUI to match or replace WPF, however we are monitoring the situation closely. We are considering ways to make our technology available to more C# / XAML frameworks.

As a whole, we continued to be excited about XAML / C# based frameworks. We see a bright future in scientific, engineering and financial software which require the highest possible performance and will be continuing to invest in them.

Contact us share your opinion

We’d love to hear from you on this topic. If you are a working for a commercial entity which would like to see SciChart on any of the alternative frameworks listed above, get in touch as we’d love to hear your opinion!

CONTACT US

References in this article
  1. Google Trends WPF vs. MAUI vs. WinUI vs. UWP 🔗
  2. WPF Github Repository 🔗
  3. Avalonia XPF 🔗
  4. Nuget Trends for WPF Toolkit 🔗
  5. NuGet Trends for Prism.WPF vs Uno vs MAUI vs Windows 🔗
  6. NuGet Trends for OxyPlot WPF vs. WinForms vs. Windows 🔗
  7. Reddit thread – how popular is WPF in Enterprise Software Development 🔗
By Andrew Burnett-Thompson | Feb 19, 2024
CEO / Founder of SciChart. Masters (MEng) and PhD in Electronics & Signal Processing.Follow me on LinkedIn for more SciChart content, or twitter at @drandrewbt.
One comment
  1. Valuable article, Andrew. It accords very much with my own experience.
    WPF attracts little excitement because no-one (including Microsoft) is trying to sell it. But at the the top end, where you need intricate and precise user interfaces, there is nothing to beat it on a Windows platform.

Leave a Reply