I often get questions about whether one should use Windows Forms or WPF in particular circumstances. As a result, I was interested to find this article from David Chappell. Here is my unofficial summary of what David says about when to use WPF:
- David writes that Windows "applications that must present a more modern, immersive interface should use WPF, while LOB applications (today, at least) should use Windows Forms." I take this to mean that you should use Windows Forms as a default technology in a typical business application, and go with WPF when you have a specific need for a richer interface.
- The article goes on to say that AJAX and ASP.NET would be a key standard for Internet applications, while Silverlight provides a means of getting a richer, cross platform web experience by providing developers with a subset of WPF's features.
- Finally, you can use WPF XBAPs to create a very rich feature set in a Windows only, browser based experience. "Put simply," David writes in his article, "XBAPs allow building Windows applications that run in a browser, while Silverlight is intended for creating [rich Internet applications] for all of today’s popular systems." When David talks about "today's popular systems," I believe he is referring to the cross platform features found in Silverlight. He adds that "the primary scenario for which [XBAPs are] useful is enterprise applications, situations where an application developer knows that the application will run only on Windows and that the .NET Framework will be present."
But please don't take my word for it; read the article, which is located here:
The most relevant sections of the article begin on page 31.