What’s an RIA?
An RIA, or rich internet application, is a web application that behaves like a desktop application.
Before RIAs began popping up, most web applications were composed of static pages.Unlike desktop applications, any interaction with a web page usually resulted in reloading a whole new page. Desktop applications, on the other hand, had much better user interactivity because all of the processing was being done natively on the user’s machine, resulting in a more seamless user experience.
As a result, software developers began to ask themselves, “Should my product be a desktop application or a web application?” It has always been a fair question, because both types of applications have very strong pros and cons. Desktop applications have smoother user interactivity, but require distribution and dealing with software updates when the software has shipped. Web applications, on the other hand, are easily accessible from the web, freeing it from the problems related to software distribution and updates, but were very lacking in user interactivity.
So how can we have the best of both worlds? RIAs are the best of both worlds. RIAs are distributed through the web, and have very rich user interactivity.
Instead, it uses a long polling method to simulate server push. Sites using ICEfaces include Boeing, NASA, Union Pacific, T-Mobile, and Bank of America.
Adobe Flash Builder 4
Flash has been around for a long time, but building entire web applications out of Flash used to be more trouble than it was worth until the introduction of Flex, which is an extension to Flash that provides RIA web components.
This means that you can run even the most complex web applications correctly in IE6 if you wanted to (this is of course a simplification because the Flash plugin/engine regularly gets updated, so it would slightly depend on the user’s version of the plugin). These applications are usually accompanied by server-side processing like a Java backend and need the Flash Builder 4 IDE for development. Adobe Flash Builder 4 is good to use if your web application requires complex graphics, if your team is made primarily of Java developers (because it works well with Java), or if your application uses an event-driven architecture.
Sites using Flash for web applications include Mint.com, Flickr, and Hyundai.
Silverlight is basically Microsoft’s version of Adobe Flex/Adobe Flash. It has been gaining some traction, but doesn’t seem to be catching up to Adobe Flash in terms of popularity.
Silverlight applications are obviously bound to have a .NET backend because it’s a Microsoft product. This means, though, that you’ll have tighter Silverlight/.NET integration versus Adobe Flex/[some server-side scripting language like PHP]. Silverlight is a good option if your web application requires complex graphics, if your team is made primarily of .NET developers, or if your application uses an event-driven architecture.
Sites that use Silverlight include Netflix.
HTML5 is an open technology, which means there isn’t going to be a single governing body like Adobe for Flash or Microsoft for Silverlight. Since HTML5 specifications is not yet complete, and IE9 has not yet been released (read about new IE9 features), you’ll need to wait a little bit before building a production-ready HTML5 web app. Currently, all major browsers support HTML5 except for IE8 (go figure).
The Future of RIAs
Are HTML5 apps the future of the internet? Not exclusively. As long as there are creative and innovative web developers out there who are driven to create something special, there will always be new technologies that can provide amazing things that HTML5 or any other web technology won’t be able to offer.
Join our mission to provide industry-leading digital marketing services to businesses around the globe - all while building your personal knowledge and growing as an individual.