|Written by Mike James
|Friday, 14 November 2014
While the "big" .NET news is that it has gone open source, what has just happened to WPF is a better indication of what Microsoft is thinking.
WPF was one of the pillars of .NET. It was, and is, a brand new modern UI complete with a layout language XAML, an event model and databinding.
In the early days it was obvious that WPF was the way to build any new project's UI. In addition many already established projects put in the effort to convert their existing WinForms UIs into WPF UIs.
Then the bottom fell out of .NET because the tide turned against managed code in Windows 8. Instead of being the crown jewels, .NET became a liability and a threat to the future of WinRT. To give you some idea of the state of things, the most recent WPF blog entry was over three year ago, until yesterday when a new blog post appeared without warning.
The new post provides the roadmap for WPF that was announced at the Microsoft Connect conference. The biggest announcement at Connect was that .NET was to be open sourced. If you dig a little you will discover that WPF isn't included in the open source code and the reason given is that it is considered to be part of the operating system. This is something of a promotion for this humble .NET UI framework, but one that will make every programmer using WPF very happy.
The road map also reveals one statistic that shows you how bad things have become.
10% of all newly created projects in Visual Studio 2013 over the past 60 days are WPF
Given the way WPF was supposed to supersede WinForms, which is a library in maintenance-only mode, 10% is a small figure - it should be more like 90%.
The new road map might start to push that percentage back up if it does instill the confidence that WPF is here for the future.
The areas that have been prioritized are:
The biggest criticism of WPF is and has always been that it can be slow. The only big Microsoft projects that it has been used on are Visual Studio and Blend and many users hoped that Visual Studio would return to a simpler and faster native UI in the days when .NET was being downplayed. Today there is no reason why sophisticated WPF shouldn't be as fast as simple WinForms with the help of GPU accelerated DirectX. The WPF team are concentrating on application startup, scrolling and virtualization performance of ItemsControls.
This is really important. WPF is the only easy route that .NET programmers have into the messy world of DirectX. If you look at DirectX you would suspect that the C/C++ programmers working on it really wanted to keep the managed code guys out of it. As the WPF team say:
"The primary scenario of interest here is to make it seamless for WPF applications to interoperate with newer versions of DirectX."
Supporting modern hardware:
This really means bringing touch and high density displays to WPF to make it suitable for more than the traditional desktop.
Better diagnostics and improvements in Blend are an important part of making WPF easier to use.
This all sounds very exciting and very positive - and it is. The only small dampener is the list of things we can expect in .NET 4.6:
All handy and very welcome but - after three years of nothing - is this all we get?
It suggests that this turn around in the fortunes of WPF has been sudden and unprepared for.
Given that Microsoft hasn't seen fit to open source WPF and has committed to future development this might not only be good news for WPF programmers but also for .NET in general. WPF is the part of .NET that enterprise app developers are attracted to and this means that they buy a copy of Visual Studio and generally have funds to throw at Azure for collaborative working.
From a profits point of view, it makes good sense to keep and revitalize WPF - even while you are giving way the rest of the .NET code base and handing out free community editions of Visual Studio.
WPF not only lives, but looks like a much better bet for the future.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: email@example.com
|Last Updated ( Friday, 14 November 2014 )