One of the most important technologies for developing Windows desktop applications is the Windows Presentation Foundation. The richness of the XAML language, coupled with the integrated binding engine, custom styling possibilities and hardware acceleration technique is a powerful package. However, in recent years WPF seems to be forgotten. No one seemed to care (at Microsoft).
With Windows 8 a much better touch integration was promised. This was before a huge bug in the event processing pipeline prevented WPF applications to use the full potential of multi-touch gestures. Additionally hardware requirements seemed to be too high, and WPF suffered from a huge performance loss when handling medium to large amounts of data. Finally some of the things that are easily possible in, e.g. Windows Store applications, like smooth transitions and animations (especially when deleting list items) have been possible, but unnecessary complicated to implement.
Now, years after Paul Stovell wrote is blog post about the unsatisfying progress (hint: there is none) in WPF since the beginning, Microsoft finally decided to pay attention to developers. Todays announcements have been huge. .NET is now open-source! ASP.NET MVC vNext will embrace open technologies such as node.js, gulp, bower and the Apache Cordova integration in Visual Studio is a good start.
I think it is fairly safe to say that .NET is (along with Azure and of course Windows itself) a center piece in Microsoft's new strategy. This is a good thing. The good integration of Xamarin / support of Mono makes C# a perfect language for enterprise / LOB applications. Do you need Visual Studio for it? Not at all! Would it be better to use Visual Studio? Of course! But Microsoft provides the tools to make a better IDE to everyone. Let's see if somebody really comes up with something better. I doubt it.
So what can we expect from WPF in the future? WPF won't be cross-platform. But the XAML stack might become a little bit easier for cross-platform development. Additionally we will see performance and framework improvements. WPF will be more lightweight, easier to extend and customize and will come with an improved project template. No more BaseViewModel
and RelayCommand
copy / paste in the beginning.
Finally the visual tooling and analysis tools will become much better. This is Visual Studio in the end. If its good for something, then point and click. Otherwise we could still use an invention from 50 years ago, called the command prompt. Am I excited for the upcoming future of .NET in particular WPF? Of course I am. Every developer should be. Even if you do not care about Windows or Microsoft - in the end its one better framework for a single purpose and if you ever gonna need it: you have it!