Why Use WPF?
WPF, as well as its sister libraries released with .NET 3.0, are well-factored and consistent APIs. They unify many programming concepts and, on the whole, make a lot of complicated development tasks easier. However, WPF is not necessarily the right choice for every project. Some desktop applications would be easier to build and maintain in Windows Forms. But, you'll find many benefits when you work with WPF. Any Windows developer should begin learning WPF because it will eventually mature to a point where it completely replaces Windows Forms.
Many of the key benefits are apparent by reading the list of features in the "Getting to Know the Features of WPF" section. The following are some scenarios where WPF will really shine:
- Your project requires collaboration with designers. The use of XAML and its supporting tools can really help out here. After the developers and the designers become familiar with the tools, your team can experience tremendous gains in efficiency.
- Your application is media aware. If you need to integrate video and audio into your product, you'll definitely want to consider WPF.
- The anticipated hardware for your application has support for DirectX 9 or greater. WPF is built on top of DirectX, and your applications will benefit from the hardware acceleration.
- Your application needs support for advanced typography. WPF has support for OpenType and many other features that are not available with Windows Forms.
Finally, you as a developer can get more done in less time. Even if you are not concerned with many of the bells and whistles of WPF, you will be able to produce quality software with less effort. In Part I, "Getting Started," we'll demonstrate this principle by building a simple but useful utility using just markup language.