共用方式為


XBAP and Silverlight

What is the difference between XBAP and Silverlight and when should i use which of these technologies?

Let me step back and start with a precursor:

In .NET 3.0 we have Windows Presentation Foundation (WPF) which allows us to create stunning UIs for desktop applications using managed code. If you still haven't experienced the power of WPF check out the WPF applications here.

Now the logical question was "How can we take the same stunning experience onto the web" - the first step towards that was XBAP - XAML Browser Application (XAML is eXtensible Application Markup Language - an XML type markup to store the UI). XBAPs allow you to run Rich Internet Applications that look and function like WPF desktop applications. These XBAPs run inside the Internet Explorer in a separate sandbox to prevent applications from accessing resources on the local system. A restriction on XBAPs is that they need .NET framework 3.0 or higher to be installed on the client machine to run.

This is exactly what Silverlight is for. So if you want your application to be available on the internet and not dependent on the .NET framework, Silverlight is the way to go. Silverlight is a cross platform, cross browser plugin that allows you to run UIs defined in XAML inside the browser. Silverlight supports a subset of XAML as of now.

I hope this clarifies some of the doubts around XBAP and Silverlight. Feel free to leave questions if you have any.

Comments

  • Anonymous
    February 26, 2008
    Can you provide any tutorial to get started with Silverlight to create pages for websites. For example how do you get these effects as seen on http://heroeshappenhere.co.in/We would like to implement this kind of animation for our websites.Please help.
  • Anonymous
    February 26, 2008
    What is the difference between XBAP and Silverlight and when should i use which of these technologies
  • Anonymous
    February 26, 2008
    Why does 3D work in XBAP and don't in Silverlight? I heard that 3D doesn't support in order to serve Silverlight as a cross-platform technology..   but what exactly is technical reason? Can you tell me a lit bit deep information about that reason?
  • Anonymous
    October 08, 2008
    As explained by yourself, can we say that XBAP has been replaced by Silverlight?
  • Anonymous
    October 15, 2008
    pls find the diff to the best of my Knowledge.XBAPOnly Targets IE/WindowsAll WPF Features are availableDeployment is harder as we need to take care of deploying all .Net Dependencies on client MachinesHeavy WeightBest for Intranet ApplciationsWe can use all controls of WPFSilverLightTargets to Any  Browser/Platform(Even in Linux)Subset of WPF features only availableDeployment is easy as SilverLight will take care of installation of dependantsLight WeightBest for Internet ApplicationsWe can't use all the controls. But As silverlight is the future of web apps,we might be getting more controlsSupport MVC for TDD.ThanksRaj
  • Anonymous
    February 12, 2009
    THanksBy WBA I meant WPF "Web Browser Application" - I tried and run the app it's contained within a brower (Firefox on my XP) - so I think it's a browser based app BUT not served by IIS or webserver and therefore only available through file share? (This also explains why WBA is not a replacement for ASP.NET)file:///I:/dev/NET3.0/WpfBrowserApplication1/bin/Debug/WpfBrowserApplication1.xbapNow Silverlight when i tried run Silverlight app, I get this from browser:http://localhost:1716/Default.aspx[^]Meaning Silverlight is available via webserver/browser and not restricted to deliver by file share as in case of WBA. It does require Silverlight plugin however and the entire app gets executed on clientside once served, this significantly reduces postbacks.On contrary, ASP.NET require plug-in and Silverlight/ASPNET are alternatives, competiting technologies. But, Silverlight again does not replace ASP.NET.My understanding right?
  • Anonymous
    February 12, 2009
    @devvvy - you can publish a XBAP (or WBA as you mentioned) on a file share, ftp or a web server - so technically it can replace a ASP.NET app. However XBAPs are not meant to replace ASP.NET applications which are more loosely coupled and work on a the request-response model. XBAPs even when they are published on a web server get downloaded and cahced on the client machine and run entirely locally from the context of the web browser.Regarding ASP.NET and Silverlight - they are not competing technologies but rather complimentary. Silverlight brings the Richness to ASP.NET that is lacking or otherwise too difficult to create in ASP.NET alone. Besides ASP.NET does not require any client side plug-in but Silverlight does.
  • Anonymous
    May 21, 2009
    I found a short and nice post on the differences between XBAP and Silvelight. Here is the link. http