Since WPF (Windows Presentation Foundation) was introduced by Microsoft in 2006 as part of the .NET framework, the platform has been on the rise in popularity among Windows developers. However, the lack of major improvements since August 2012 and Microsoft’s notion during Build 2014 that it was “… not planning on any investing in major changes to WPF” have reinforced speculations about the platform’s uncertain future. Fast forward several months to November 2014 and Microsoft’s Program Manager Harikrishna Menon announced that an active development on the platform has been resumed, focusing mainly in the areas of Performance, DirectX Interoperability, Modern HW Support and Tooling. They acknowledged that WPF is still a very important technology, pointing that 10% of all newly created Visual Studio Projects at that time were using the WPF project template outlining some of the recent fixes developers will see in .NET Framework 4.6. However, some felt that the announcement was lacking true details regarding where the future of WPF is headed as one without a true roadmap.
The New Year started to bring more details around the specific areas of investment in WPF. In January 2015, the Microsoft WPF team published the Timeline Profiling Tool for VS2015 CTP5, which is a replacement for the existing XAML UI Responsiveness tool that supports WPF applications in Visual Studio 2015 CTP 5 – news that was welcomed by the community.
The WPF team continued to show that they listen to developers’ requests and in February of this year the XAML UI Debugging Tools available in VS2015 CTP 6 were released. These tools include the Live Visual Tree, Live Property Explorer and In-App Selection.
March 2015 brought a well-received, live Q&A session with members of the WPF and XAML Experiences Team, where they reassured attendees that “[Microsoft] is going to make WPF better, we are going to listen to our customers ‘’ stating that ‘’[WPF] is the UI Framework of choice for a large number of mission critical apps and we see that not to change in the near future.”
This statement brings us to the question around the future of WPF beyond the .NET Framework 4.6. Now that it seems to be more defined and clearer, how will it be judged by the recent and the future planned actions of Microsoft.
In support to this assertion comes the WPF team revealing that it is actively working to optimize WPF with the goal to react more quickly to customers’ needs. To achieve this, they are working on WPF App local or WPF Local. The principle here is that they extract the WPF assemblies out of the .NET framework and will be shipping them as NuGet packages. This approach would allow them to release much more quickly and more frequently. The same approach has been taken by the Entity Framework, for example.
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, with the goal being to have less elements in the visual tree and therefore better performance.
By all means, it appears the Windows developers’ community has welcomed the news that Microsoft keeps investing in the platform, given that a great number of them use WPF as their first choice for building desktop business applications!