WPF vs. Silverlight for Intranet Line of Business apps

Updated in a new post taking in to account the new feautre in Silverlight 3: http://blogs.msdn.com/swiss_dpe_team/archive/2009/04/24/wpf-vs-silverlight-3-for-intranet-line-of-business-apps.aspx

Silverlight 2 has just been released and it’s clearly a powerful technology for web applications. It was just about time that as .NET developer you can now create powerful but also well architected web solutions. As Silverlight and WPF are similar,  the following question naturally arises:
What should I build on for intranet app scenario, especially for Line of Business application? Should I use Silverlight or WPF?

Let’s analyze the pro and cons of each one to help you deciding which one fits best your company or target market.

WPF advantages over Silverlight

v  Full access to all the Windows API and the full .NET API

o   E.g. TCP/Binary WCF support

v  Powerful printing support

v  Desktop or browser hosted with Customizable Sandbox

o   XBAP works on IE and Firefox

v  Offline support

v  Easy integration with other UI technologies

o   WPF controls can be hosted in Office, WPF app can call Office API

o   WPF controls can be hosted in WinForm

o   WPF apps can host WinForm and ActiveX controls

v  Proven technology (3.0, 3.5, 3.5 SP1)

v  Virtualization (data or visuals) for large data (from 3.5 sp1)

v  Large third party controls selection

v  Hardware accelerated, 3D


Silverlight advantages over WPF

v  Small runtime install 4 MB, 1 min, no reboot

o   Default auto updating (no admin rights needed in Vista for runtime updates)

o   Can be easily deployed even on login script or GPO

v  No app deployment

o   App is cached in browser cache

v  Cross Platform, Cross Browser

o   Windows 2000, XP, Vista, 2003, 2008, Mac OS

o   Linux through partnership with Novell

v  Easier to learn

o   Due to the reduced API subset

v  Can be integrated in current web pages and web based portals

o   Is an island on the page

o   Full access to the Browser DOM

o   Fully scriptable from JavaScript

v  Share code and components between Intra and Internet solutions

v  In future it will run on Mobiles, CE


Silverlight limitations (version 2)

v  No printing support

o   Server side PDF or Open XML generation

o   Client side manual HTML generation. Need to implement the formatting logic twice one for XAML and one for HTML

v  No sandbox customization

o   No external API calls (e.g. P/Invoke, COM, full .NET)

o   No Office integration

v  No Secure SaveAs dialog

v  Very limited Offline support

v  WCF with basicHttpBinding only

o   HTTP/SOAP Basic profile 1.1 only

o   No full basic security implementation

o   no WS-*, no TCP/Binary, etc..

o   But provides Sockets support and Duplex over HTTP

v  REST support only for GET and POST

o   PUT and DELETE need to be tunneled

v  Only Asynchronous communication


So which one should you use for LOB intranet scenarios: WPF or Silverlight?

v  Currently developing with WinForm?

o   WPF is probably the right choice

o   But only if the company can deploy the right .NET Framework version

o   As a rule of thumb a new .NET Framework deployment should cover all the target PCs in the company in less than 6 months

o   In case .NET Framework deployment is hard or not possible, Silverlight is a valid alternative

o   No need for rip and replace your current solutions, you can integrate it with WinForm

v  Currently developing with ASP.NET

o   Silverlight is probably a good choice

o   If the plug-in can/will be deployed

o   Effort and impact is way smaller that the full .NET framework

      • Integrates well in portals based on ASP.NET or any other Web Technology

      • Easier and better architecture than AJAX solutions


WPF & Silverlight

v  Are the strategically MS UI platforms

v  Partially source code compatible

o   Not yet binary compatible

o   More compatible in the future

o   Possibility to build controls that target both platforms

o   Still a big effort to target both at the same time

v  Same tools (VS and Blend)

v  Same concepts

o   If you know WPF you can learn Silverlight in a week

v  More controls and Frameworks coming for both platforms


In general you can’t go wrong with either one. The Framework vs. Plug-In deployment is the key deciding factor. As a second factor you should look into the limitations of the current Silverlight version. If you are an ASP.NET developer have head hicks with AJAX you should really evaluate Silverlight.


Ronnie Saurenmann

Comments (4)

  1. Geminiman says:

    You forgot one thing that makes Silverlight a no-go:  It’s font rendering is horrible and makes it completely unacceptable for line of business applications.

    There are tons of posts in the forums about just how bad it is, but just look at any of the samples from MS and you’ll see the crappy font rendering. It’s embarrasing!

  2. In this issue: Boyan Mihaylov, Jeff Prosise, Tim Heuer, Bryant Likes, Page Brooks, Michael Wolf, Jeff

  3. WPF vs. Silverlight for LOB apps Ronnie Saurenmann, from the Swiss MSDN Team Blog , blogged a great post

Skip to main content