Welcome Back, WPF (Premium)

Build 2024 delivered many surprises, but among the most interesting to me was the unexpected reemergence of the decades-old WPF.

This takes the concept of What's Old is New Again to all-new heights. That article was triggered by the many strange references to the past that Satya Nadella and others from Microsoft made during last week's Copilot+ PC launch event ahead of Build. The repeated connections to the past—both good and bad, interestingly—fascinated me.

But WPF is something else entirely. WPF is the Coelacanth of Windows app development, something long thought to be dead, but suddenly rediscovered to be a living, breathing entity.

For those unfamiliar, WPF began life as Avalon, a new presentation system for Windows that Microsoft first introduced to the world at the infamous PDC 2003 for Longhorn. Avalon was a classic .NET app framework that would provide significant advances over its predecessor, Windows Forms. Among those advances was the introduction of an XML-based language called XAML that developers and designers could use to describe user interface, similar to the role of HTML in web apps.

And that is, itself, an interesting story: In the Internet Tidal Wave era of the late 1990s, Microsoft initially planned to adopt web technologies for Windows application development, but a civil war between core members of the company's leadership led to a change of plans: Instead of embracing the web, Microsoft would leverage its core asset of the day, Windows, and embrace and extend the web. That it is, it would offer familiar but superior web-like technologies to compete with the web. And Avalon was a key pillar of that new strategy.

One of the key advances with Avalon, later renamed to the Windows Presentation Foundation (WPF), is that developers could create object-oriented classes compromised of both XAML and the .NET programming language of their choice (typically C#). That is, instead of defining a class solely with C#, as would normally be the case, WPF divided this task between the presentation—XAML code—and the logic (C#) by default. The compiler would combine each partial class, from XAML and C#, into a fully implemented single final class.

The XAML part of this equation is called declarative programming, and its use in WPF heavily influenced future app frameworks. Today, modern frameworks like Swift UI (Apple) and Flutter (Google), use this same technique, though both use more traditional programming languages (Swift and Dart, both of which are analogous to C#) instead of an XML dialect to describe UIs. And here in the Microsoft world, XAML has pushed forward with several renditions, each slightly different, which have been used in developer initiatives like Windows Runtime (WinRT)/Universal Windows Platform (UWP), Xamarin.Forms (third-party), MAUI, and others.

WPF launched alongside Windows Vista in late 2006, and while it was well-received outside of Microsoft, it was tainted by the Longhorn/Vista...

Gain unlimited access to Premium articles.

With technology shaping our everyday lives, how could we not dig deeper?

Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.

Tagged with

Share post

Please check our Community Guidelines before commenting

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC