Windows Presentation Foundation (WPF), Silverlight and ASP.NET are Microsoft’s three main application development platforms. WPF is standalone programming technology. Alternative of windows forms. Silverlight can be used in web like flash but have mo powerfull capabilities. It is very similar to WPF but have some differences as well. WPF is not technology for building sites. WPF can interact with some Windows Communication Foundation(WCF) service to get/save data.
Silverlight (codenamed WPF/E) is a cross-platform, cross-browser, browser plugin which contains WPF-based technology (including XAML) that provides features such as video, vector graphics, and animations to multiple operating systems including Windows Vista, Windows XP, and Mac OS X, with Microsoft sanctioned 3rd party developers working ports for Linux distributions. Specifically, it is currently provided as an add-on for Mozilla Firefox, Internet Explorer 6 and above, and Apple Safari. Silverlight and WPF only share the XAML presentation layer. [1]
Silverlight Support Cross OS, cross browser, cross device WPF for Windows client users. In order to run Silverlight applications at client machines, we need to install Silverlight software on the client machine once. WPF, on the other hand, does notsupport any plug-in mechanism; instead, we need to install a completed WPF client application.
WPF is based off of the desktop Common Language Runtime(CLR) which is the full version of the CLR. Silverlight is based on a much smaller and more compact CLR which provides a great experience but does not have the full breadth of CLR features. It also has a much smaller version of the Base Class Library(BCL).
Differences from Sean Sexton’s blog
- WPF
- For developing Windows applications
- Thick client user interface, with most rich set of user controls and Windows-specific features
- Platforms–runs only on Windows, in or out of browser
- Requires full .NET Framework installed on client
- Silverlight
- For developing web applications that can also run out of browser
- Thin client, with richer UI controls that are closer to traditional thick client controls
- Platforms
- Runs as browser plug-in in most browsers
- Silverlight client software runs on Windows, Mac OS X, Windows Phone 7
- Moonlight version of Silverlight allows running on Linux
- Requires Silverlight framework installed on client (when page is first loaded)
- ASP.NET
- For developing web applications
- Thin client, with fairly generic web-based controls
- Platforms–runs on server, so client is delivered as standard HTML on any platform–including browsers on mobile devices
- Requires nothing to be installed on client
Karl Shifflett recently published a fabulous blog post explaining why he decided to use WPF instead of ASP.NET for his company’s large software product. It is very down to earth and unbiased. He obviously put a lot of thought into this, so I highly recommend checking it out. Here’s the link: