WPF is Back! And becoming even more Powerful!
I am really happy that we can finally see more and more activity around Windows Presentation Foundation (WPF) by Microsoft. Currently, there are breaking news every month. I am looking forward for what will be revealed at Build 2015. Here is an overview of the current developments:
November 2014: Roadmap for WPF
First, in November last year, the .NET Framework Blog published this post:
In the post they acknowledged that WPF is still a very important technology. They mention that 10% of all newly created Visual Studio Projects at that time were using the WPF project template.
They announced that they are going to invest into the WPF platform, especially in the areas of Performance, DirectX Interoperability, Modern HW Support and Tooling.
January 2015: Timeline Profiling Tool for WPF
Later, in January 2015, the WPF team published the Timeline Profiling Tool for VS2015 CTP5:
Check out my Article on the Performance & Diagnostics Hub: https://www.12qw.ch/2015/03/performance-profiling-of-net-applications-in-visual-studio-20132015/
February 2015: XAML Debugging Tools
In February this year, the WPF Team released the XAML UI Debugging Tools available in VS2015 CTP 6.
The tools include the Live Visual Tree, Live Property Explorer and In-App Selection.
March 2015: WPF Team Connect Live Q&A
In March, Channel 9 published an interesting Q&A session live from the WPF Team.
It contained some very interesting statements by Unni Ravindranathan, Program Manager.
“WPF is the UI Framework of choice for a large collection of mission critical apps. We see that not to change in the near future.”
“We are going to make WPF better”
“We are going to listen to our customers”
Current activities of the team:
WPF Local (00:02)
The team is optimizing WPF with the goal to react more quickly to customer needs.
Therefore, they are extracting the WPF assemblies out of the .NET framework and will be shipping them as Nuget packages. This of course would allow them to release much more quickly and more frequently. The same approach has been taken by the Entity Framework, for example. A caveat of WPF local will be that the conventional assemblies have always been delivered as native images (using ngen). This gets more complicated if assemblies are shipped as Nuget packages. The team is working on a solution.
WPF as of .NET 4.5.1 will be integrated with Windows Update.
Hm, not sure, what to think of that…
New Feature: Content Deferral (00:28)
With WPF Local, WPF will by default defer loading of certain parts of the visual tree. This means that invisible visuals, for example, will only be loaded when required. The goal is to have less elements in the visual tree and therefore better performance. It is even possible to mark certain visuals with a XAML tag that will defer loading of the elements. Elements will be inflated once they are requested by a someone who needs them (calls to FindName() or execution of a StoryBoard, etc.)
New Tool: Live Visual Tree, In-App Selection & Live Property Explorer (00:41)
New Tool: WPF Timeline Tool (45:00)
It is great to hear that Microsoft keeps investing in WPF. In my experience, a lot of customers use WPF for their business applications. During the last years and the Windows 8 hype, it was never clear to me what path WPF is taking.
Did you know that WPF is a top level item in the Visual Studio User Voice function? So if you have any feedback, click the button and let them know!