Microsoft WPF - Silverlight Comparision

 

Features/ Support

WPF

Silverlight
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 theXmlDataProvider andObjectDataProvider Supports theXmlDataProvider 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