MSDN Blog Schweiz

Aktuelle Microsoft-News, Anleitungen, Downloads, Tools und Veranstaltungen für Schweizer Entwickler.

WPF vs. Silverlight 3 for Intranet Line of Business apps

WPF vs. Silverlight 3 for Intranet Line of Business apps

  • Comments 1

This is an update of this blog post: http://blogs.msdn.com/swiss_dpe_team/archive/2008/12/15/wpf-vs-silverlight-for-intranet-line-of-business-apps.aspx taking in to account the newly announced features of Silverlight 3

Updates due to SL3 are marked in red.

With the new features of SL3 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 WCF support

v  Powerful printing support

v  Customizable Sandbox

v  Powerful Offline support

o   Can use Sync Framework

o   Can use both SQL Express and SQL Everywhere locally

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

o   Special cache for Out of Browser apps

v  Cross Platform, Cross Browser

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

o   Linux through partnership with Novell

v  New, powerful, SL controls and .NET RIA Services makes multi-tier LOB app development more productive than ever

o   New SL3 controls like DataForm, Activity and the Validation Framework

o   .NET RIA Services will ship first for SL and later on for WPF

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  Same app can run In and Out of the Browser and even be taken offline

o   WPF requires you to build a browser based and windows based version (although you can share most of the code)

v  In future it will run on Mobiles, CE

 

Silverlight limitations (version 3 Beta)

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

o   Final version of SL 3 should provide more “hacks” for generating bitmaps from visuals enabling some more options for client side printing compared to the manual HTML generation. Still done through HTML bridge. This will for example enable printing of Charts.

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

o   SL3 has a secure SaveAs dialog

v  Very limited Offline support

o   SL3 has Offline and Out of Browser support although more limited than WPF

o   No Sync Framework

o   No local DB

v  Can manually serialize data on the Isolated Storage

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

o   New in SL3

o   Binary Formatter over HTTP

o   Transport security with Message Credential

v  REST support only for GET and POST

o   PUT and DELETE need to be tunneled

v  Only Asynchronous communication

v  No Right Click Event

o   So no context menu triggered by Right Click.

o   Some hacks exists but are not recommended due to the need to put the SL plug-in in windowless mode, introducing performance issue.

 

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

v  In the near future thanks to the new .NET RIA Services Framework more productive than ever.

 

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

Leave a Comment
  • Please add 2 and 2 and type the answer here:
  • Post