views:

2069

answers:

4

I'm looking into creating a system / site which includes a website. I would like to get the benefits of WPF, and WBA seems to be a good avenue of doing this. Silverlight on the other hand is also good for accomplishing this goal, with the difference that WBA provides more options and power than Silverlight.

What are the benefits / losses that come with using WBA versus Silverlight? Is WBA only supported in IE?

Any insight would be very helpful.

A: 

Silverlight is cross platform an cross browser. WPF WBA is Windows only IE only.

Craig
+14  A: 

I assume you mean XBAP (XAML Browser Application) with WBA?

Silverlight and XBAP are pretty similar to each other but they do have some major differences. The largest of these is most likely the fact that XBAPs run on top of the full .Net framework while Silverlight uses a stripped down version of the CLR and class libraries. This results in Silverlight lacking some of the features that WPF has which are available in XBAPs.

Also it is worth understanding that XBAPs are technically ClickOnce applications and as such they are installed to the user's computer. This happens automatically and the user doesn't necessarily understand that - but at least for me, if I saw a XBAP loading from a random web site, I would most likely cancel it and go to another site.

XBAPs also require IE or Firefox and the .Net framework they are built for. Silverlight requires only the Silverlight player which is available for IE, Firefox and Safari and works on Windows and OSX and is much smaller than the full .Net framework in terms of download size.

This said, I prefer XBAPs if I know that the limitations are not an issue. If I was developing an application for intranet use, I'd go with a XBAP as it provides more versatile framework. If the application was to be deployed in the internet, I'd use Silverlight to reach as many users as possible.

Mikko Rantanen
Very informative answer. Thanks for posting.
Josh G
+1  A: 

Yes, WBA (XBAP) is only supported in IE and Firefox (with a plugin), and only on the Windows operating system. The Silverlight toolset is mostly a subset of WPF, so with WBA you will have access to more tools. Check out this link on it.

Josh G
+5  A: 

I assume that by WBA you mean XAML Browser Application (XBAPs), which are WPF applications that run in a web browser.

The advantages can be summarised as follows:

XBAP

  • XBAP applications have the full CLR and entire .NET Framework 3.0/3.5 avilable to them, whereas Silverlight apps only have the reduced Silverlight CLR and its own lightweight version of the .NET Framework/WPF (though it's not strictly called WPF .
  • Can run in full-trust mode with a bit of configuration. (See this MSDN blog post.) Silverlight permissions are heavily restricted for obvious reasons.

Silverlight

  • Can run cross-platform. (On Windows and Mac using the official Microsoft implementation and on Linux using Moonlight. Moonlight support is complete for Silverlight 1.0 but only partially implemented for Silverlight 2.0.)
  • Can run in all major browsers. (IE 6/7/8, Firefox 3, Safari. There are even reports of some success with Google Chrome.) XBAPs on the other hand can only run in IE (using .NET 3.0) or IE and Firefox (.NET 3.5).
Noldorin