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 (8)

  1. M. Rajesh says:

    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.

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

  3. Sync says:

    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?

  4. D2 says:

    As explained by yourself, can we say that XBAP has been replaced by Silverlight?

  5. pls find the diff to the best of my Knowledge.

    XBAP

    Only Targets IE/Windows

    All WPF Features are available

    Deployment is harder as we need to take care of deploying all .Net Dependencies on client Machines

    Heavy Weight

    Best for Intranet Applciations

    We can use all controls of WPF

    SilverLight

    Targets to Any  Browser/Platform(Even in Linux)

    Subset of WPF features only available

    Deployment is easy as SilverLight will take care of installation of dependants

    Light Weight

    Best for Internet Applications

    We can’t use all the controls. But As silverlight is the future of web apps,we might be getting more controls

    Support MVC for TDD.

    Thanks

    Raj

  6. devvvy says:

    THanks

    By 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.xbap

    Now 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?

  7. BijoySinghal says:

    @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.

  8. I found a short and nice post on the differences between XBAP and Silvelight. Here is the link. http

Skip to main content