Bridging the GapIn my earlier post regarding the new release of the .NET 3.5 Framework and Visual Studio 2008, I mentioned a very exciting concept within the .NET framework called XBAP which stands for XAML Browser Application.  XAML is basically a layer of abstraction that describes the presentation of a .NET app.  So what is XBAP?

XBAP is simply taking a .NET application and making it run in the browser.¬† In the olden days, you’d have to determine if you were going to write a desktop based application or a web application.¬† Web applications are not as robust and feature rich in the UI and presentation in addition to having many constraints being a stateless model, hence why most complex applications end up on the desktop.¬† That era is one step closer to being ushered out.¬† With XBAP, the gap that exists between web applications and full client applications is closing.

With the latest .NET application, you can simply write your feature rich application, and deploy it however you want.¬† You want it as a desktop application, no problem…or maybe you want it to run as a web application in the browser…again, no problem, that is the beauty of XBAP.

Of course there are some constraints with this model, for one, you have to have the .NET 3.5 framework on the client machine and it only works in IE…but this is a minor constraint for a majority of organizations since the .NET framework is largely deployed and growing everyday.¬†

You may be confused by all the hype that you have heard about the “flash killer” Silverlight released by Microsoft just recently.¬† Silverlight or (WPF/E Windows Presentation Foundation Everywhere) was introduced to enable feature rich data driven web applications.¬† The best way to differentiate Silverlight from XBAP is that Silverlight is basically a subset of the functionality contained within XBAP, which means XBAP is that much more powerful.¬† Chad Campbell did a great job summarizing the differences between XBAP and Silverlight in this post.

Woodgrove financial xbap demoTo give you an idea of some of the awesome things you can do, you can checkout the Woodgrove financial application demo that showcases the power of XBAP.  The capabilities of XBAP are all of those that you get in a full client application, however they run right in the browser. You get all the feature richness of a windows application.

Most people wonder what kind of paradigm shift this will cause when developing applications.¬† Business applications today are written to be client / server. That is all the data is stored in a centralized location and you have clients accessing the data and handling all of the UI (user interface). Many times these applications have robust desktop versions and slimmed down web versions…two totally separate development environments, code lines, etc. Now with .NET 3.5, the introduction of XAML and XBAP, you have the ability to develop a truly unified application, not splitting it due to the¬†desired delivery methods.

While it sounds awesome, XBAP applications will be most powerful in intranet based environments where portability is not as large of a concern and control of the .NET framework distribution among a network can be done.  If you are designing an application for the masses, the scaled down Silverlight would be a better option, particularly if it needs to be run in a browser.

I know we will be rewriting some of our clunky web based applications using .NET 3.5 and deploying them as XBAP applications in addition to a few desktop apps we’d like to be able to deploy to the web.¬† Checkout for more great information on XBAP!

Popularity: 48% [?]

Other Posts that May Interest You