- What Is WPF?
- Getting to Know the Features of WPF
- Why Use WPF?
- Comparing WPF to Other Options
- The Pieces of .NET Framework
- Tools for WPF
- Constrasting WPF with Silverlight
- Summary
- Q&A
- Workshop
Constrasting WPF with Silverlight
Silverlight is a platform for developing Rich Internet Applications (RIA), whereas WPF is primarily intended for desktop applications. Silverlight is a direct competitor to Adobe Flash and it has a strong focus on media, cross-platform compatibility, as well as a small download and install footprint. Like Flash, Silverlight applications are hosted in a browser.
Microsoft has intentionally designed Silverlight to be very similar to WPF, although the two are separate products. In fact, an early name for Silverlight was WPF/E or Windows Presentation Foundation/Everywhere. Developers familiar with one technology will have a head start with the other.
Like WPF, Silverlight uses XAML for declaring user interfaces. In version 1.0, a Silverlight application consists only of text files containing JavaScript and XAML. Silverlight 2.0, however, will support a more robust runtime and a base class library similar to the standard .NET BCL. You will be able to write Silverlight applications in your favorite .NET language and compile them to assemblies for distribution. Silverlight 2.0 will look a lot more like WPF, but you should be aware that significant differences exist. It is almost certain that Silverlight will not support all the features in WPF. Likewise, code written for Silverlight may need significant changes before it will compile for a standard .NET application. Always keep in mind that the runtime for Silverlight is different from the CLR.