SBP Blog

Inside the rich world of RIA: HTML 5, Silverlight and WPF-XBAP

Oct 09, 2012 by Oana

Our journey inside RIA continues with the advantages and disadvantage of the much-talked about HTML 5, then we take a look at Silverlight and WPF - XBAP, and come up with a conclusion.


HTML5 languageHTML 5 is said to be the "slayer" of RIA technologies, as it offers the same advantages as the main players (Silverlight, Ajax, AIR, WPF) and even more. A successor of "classic" HTML, HTML 5 is pretty straightforward, so any user can easily catch up with the new updates. Also, most developers have knowledge of HTML, so the costs for training employees will be reduced. Moreover, HTML 5 is easier to deploy, thanks to the fact that HTML is natively supported by web browsers, so it does not require an installation.

Of course, as any other technology, HTML 5 has its downsides. HTML may be known by almost everyone, but when it comes to taking advantage of the newest technologies on the market, the number of programming languages to choose from is confined. Also HTML doesn't offer too much flexibility by itself, and it can not provide a dynamic behavior and complex offline functionality, unless JavaScript is also used in the mix. The same thing applies for the cross-hardware support - there are scarce choices when it comes to HTML 5 support on mobile platforms. Because it depends on the user's Internet bandwidth, we can't really talk about performance. Poor media and animation formats support, also the limited choice of tools for implementing large sized HTML 5 apps, are major minuses when working with HTML 5.


Silverlight is Microsoft's tool for building powerful, yet creative, business apps "on the web". Running on web browsers such as: IE, Firefox and Safari, Silverlight is compatible with Windows (it's not compatible with OS versions older than Windows 2000, but then again, there are not too many people using those old OS-es anymore :) , Mac and Linux (via Moonlight) operating systems. Considered to be a "WPF subset", this Microsoft technology has plenty to offer, not only online but also offline, extending its functionalities into the desktop.

The most notable difference between Silverlight and WFP is that the former is a downloadable plug-in (runs within a browser) which means that has access only to a subset of the full .NET Framework (called CoreCLR), while the latter is more appropriate for desktop use and benefits from the main .NET Framework and its entire associated tools.

WPF - XBAP (XAML Browser Applications)

XBAP is a subset of WPF which can be used for building Rich Internet Applications. Such browser apps are compiled as an .XBAP files, are run within a security sandbox, and can be run using the Internet Explorer or Firefox browsers. The interesting part is that XAML browser apps (XBAP) merge features of both web and RIA applications. This means that the application can be deployed to a web server and can be run from IE or Firefox, while it benefits from a wide array of desktop-like (WPF-based) functionalities. For developers that are used to building desktop applications, the XBAP development will feel familiar, as it resembles the way in which desktop apps are developed.

There are also some restrictions in using an XBAP application, one of them being that it is not compatible with the entire .NET feature set. However, more than 90% of the basic WPF features are available for XBAP applications as well.

The advantages of working with RIA in general are numerous, such as: good performance, good available tooling, wide support for media platforms, compatible with most programming languages etc., however there are some serious challenges to be dealt with: for most of the RIA technologies, a plugin is required for deployment (which results in software and hardware restrictions), also there's a constant upgrade cycle (new versions of the platform, that sometimes don't provide full backwards compatibility, and therefore require older apps to be updated) and others.

For the time being, rumors have it that HTML 5 will surpass older RIA technologies, in terms of capabilities, and will be more lightweight than any of the technologies presented above. Until that point, classic RIA choices are more suitable for mobile platforms and for intricate applications, and they can provide a consistent user experience.

Do you want to learn more on RIA technologies? read Inside the rich world of RIA: Flash and Ajax

Other posts in this series:

HTML5: developed for the web, growing to be mobile - Part 1
HTML5: developed for the web, growing to be mobile - Part 2
HTML5: developed for the web, growing to be mobile - Part 3


No comments yet.

Your Comment: