|
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 |