When should I use WPF vs. Silverlight?


In my role, I work with a number of large corporations, and this is a question that they ask me regularly: What is the difference between the Windows Presentation Foundation (WPF) and Silverlight, and in what scenarios does it make sense to use each? 

Microsoft feels that user experience is important, and invested in multiple technologies to promote better user experience.  Both WPF and Silverlight use XAML (Extensible Application Markup Language) under the covers. 

Let’s look at some of the different characteristics of each technology:

 

WPF:

  • Ships as part of the .NET Framework (version 3.0 and onward)
  • Runs as Windows application or as web "browser application" (called XBAP, for "XAML Browser Application").  Note that XBAPs run only in Internet Explorer with .NET 3.0 and in both Internet Explorer and Firefox with .NET 3.5.  
  • Runs on Windows machines only (Windows XP, Windows Server 2003, Windows Vista, and Windows Server 2008)
  • Richest functionality, including 3D graphics

Silverlight:

  • Ships independently
  • Runs in web browsers only (Internet Explorer, Firefox, Safari)
  • Runs on Windows or Mac operating systems (also on Linux via Moonlight, which is an open source implementation of Silverlight based on Mono)
  • Functionality is a subset of WPF’s feature set

 

When should you use each?  The maddening answer is (of course): it depends! 

WPF is a more mature technology and was designed with a richer feature set.  It also has the advantage of being able to run in a browser or as an installed Windows-Form-type app. 

Silverlight has a broader reach.  You can access Silverlight from many operating systems and web browsers

The most important reason to choose one over the other should be based on the intended audience for the application.  For example, if a corporation is designing an application for internal use only and every employee has Windows XP as the company standard OS, then go with WPF to leverage the richer feature set.  If a corporation is designing an external-facing website, then Silverlight is the better choice because potential customers can access the website from a variety of different operating systems and browsers. 

Comments (16)

  1. Dave says:

    Easy choice for me, WPF requires too steep of graphic requirements for the corporate environment. Wish I could use it, but reality is it just isn’t meant for the corporate PC world.

  2. Some One says:

    When should you use each? Is only a question because to pull it of Microsoft does not have a complete cross technology platfrom with different views into the model.

    Now the question is if you use both or multiple including asp.net. How can we have a single Model View Controller (MVC) type foundation/framework. Why is there a seperate library for WPF one for ASP.NET and yet to be announce one for SilverLight. Could there be a single Model, and Controller with the views being used for the given platform without having to (re)write a SilverLight Model and a WPF Model. How about just a seperate View built in SilverLight and one built in WPF and one Built in ASP.NET yet they all share the same Model and Controller? Could Microsoft now come up with a single MVC framework that cross all Presentation bounds without having multiple frameworks?

  3. Henrik Dahl says:

    Isn’t it only two operating systems, Windows and MAC?

  4. What? WPF applications (.exe) can run on web browsers?

    I need to get my Imagine Cup Interface Design entry (http://filipefreitas.net/blog/?p=1157) on my blog ASAP for everyone to see!

  5. Rich User Experience choices for a Line of Business application Context SmartPoint are innovators in

  6. Levi Page says:

    One thing no one seems to mention is that the silverlight fonts look "horrible." The fonts in WPF look just as good as standard HTML and desktop applications. This makes silverlight useless for data driven applications in my opinion. Take a close look at the fonts, especially at small sizes and you will see the difference. Flash has always suffered from this problem as well. Also none of the controls look standardized. When it comes to usability, silverlight is greatly lacking in my opinion. It’s highly overated.

  7. Anonymous says:

    BTW, your blog entry has been plagiarized without due credit:

    http://kranthikiran.wordpress.com/2008/05/27/when-should-i-use-wpf-vs-silverlight/

  8. Randy says:

    Well saying that Flash and Flex have problems with fonts is Phooee. Flex and Flash fonts look fine. I ain’t no genius and I ain’t no Senators son but I know the fonts in Silverlight looked fine in Beta 2 and look like crap in the final release. Now it would be easy to figure out why with a before and after. Looks like Microsoft is going down the same road GM went. Nobody wants Vista and nobody wants Silverlight with it’s ugly fonts. What happened to quality. I’m moving on with Adobe Flex 3 and ActionScript 3 cause it’s the real deal.

  9. Sekhar says:

    This is very clearly understand for difference between Silverlight and WpF

  10. Ash-Ish says:

    Abe yaar I havent use it till now…

  11. Dean says:

    Silverlight now supports embedding fonts…problem solved!!

    http://www.switchonthecode.com/tutorials/silverlight-3-custom-fonts

  12. Ricardo says:

    Hi!

    I was reading in other web-site you can run Silverlight OOB on Windows. Is it right?

    In other words. Can we run a silverlight (no WPF) application Out of Browser?

    Thanks in advance.

    Regards,

    Ricardo

  13. Roger says:

    Hi Ricardo Ricardo,

    Yes, that’s true. Check out silverlight 3 official site (http://silverlight.net/getstarted/silverlight3) for new features information.

  14. Richard says:

    Nice and understandable article. Thanx.

  15. Sri says:

    Hi All

    If WPF and Silverlight are both one and same then why Microsoft deperated them?

    Is Silverlight provides light weight applications than WPF?

    Whether WPF have lot of headers so that web applications cannot able to hold such large headers?

    There might be a crucial difference(Based on my understandings).

    Thanks in advance

  16. Faqeer ur Rehman says:

    Bundle of thanks…..that was really an concise and informative points that really gives a basic and a more better understanding… Once again thanks …

Skip to main content