Platform Support | WPF is a Windows desktop technology for developing Windows application in the
.NET framework | Silverlight is a web technology, that is fully supported by a browser plugin on
both Windows and MAC (in a similar fashion to Flash). There is also a plugin for
running Silverlight on Linux (Moonlight). |
Architecture | Presentation Core --> .NET Framework --> CLR | Presentation Core -->.NET for Silverlight --> CLR for Silverlight --> Browser
Host |
Deployment
| WPF applications can be deployed as a standalone application, ClickOnce
application, or a XAML Browser application. BAML is a binary form of the XAML in
a WPF application | Silverlight applications are hosted within a web server and a web page. To
minimize client download size, Silverlight uses an XAP archive. A XAP archive is
a zip-compressed archive of the Silverlight application, plus a manifest file
describing the content. |
XAML processing | WPF has its own XAML parser | XAML parser that is part of the Silverlight core install |
Xml/Object Data Provider | Supports the XmlDataProvider and ObjectDataProvider | Supports the XmlDataProvider but not the ObjectDataProvider |
Access to .NET Network Stack | WPF has access to the full .NET networking stack and can make any type of call | Silverlight is a browser-based technology that has access to a subset of the
.NET Framework (called the CoreCLR). Can only make asynchronous network calls |
Cryptography Namespaces | WPF has access to 107 cryptography classes and supports the full range of
algorithms in the .NET Framework. | Cryptography (Silverlight has 20 classes in the namespace. Silverlight supports
only 4 hashing algorithms and the AES encryption protocol |
Deep Zoom | No | Yes |
Data Binding | Supports MultiBinding | Doesn't support MultiBinding |
Triggers | Yes | Limited support |
Commanding | Yes | No |
Freezable objects | Yes | No (Flow Document are designed to optimize viewing and readability)
|
3D Drawing | Yes | 3D Support is limited |
Flow Document support | Yes | No |
Dynamic resources | Yes | No |
Multitouch API | WPF has element-level support for multitouch events on its UIElement class. | Silverlight 4 client as a whole is registered for touch messages, and the
multitouch events are handled through a client-level Touch service class. |
Out-of-Browser Support | WPF has an XBAP deployment model that runs in a browser | Silverlight uses a different deployment technique where an application can be
configured to run outside the browser after being installed from a host Web page |
Screen Coordinate System | WPF has a theoretically unbounded coordinate system | Silverlight has a bounded coordinate system |
Measurements | WPF supports a measurement system that by default is based on Device Independent
Pixel (DIP) units | Silverlight supports a measurement system that is always based on pixel units. |
URL based navigation | No | Yes |
Clipboard | Anything serializable | Text only |
Controls/Elements | All visually rendering elements derive from the Visual base class | Elements derive from Control |
External Device access | Anything with drivers, COM, Win32 or Communication Protocol | Webcam, Camera, Microphone and device with COM API or compatible communication
protocol |
File Access | Unlimited | Limited |
WPF Specific Functionality | Desktop Functionality (Printing, XPS Documents, Speech, InterOp) XAML (Styles
) User Interface (3D Graphics, Themes, Skins, Image Manipulation, Page-Based
Navigation, Input Gestures) General Functionality (Freezable Objects, Data
Providers, Validation, Dynamic Resources, Code Access Security ) | |
Silverlight Specific Functionality
| | Web Functionality (Browser InterOp) Media (Traditional Streaming, Progressive
Download, Smooth Streaming, Timeline Markers ) Deep Zoom |