SBP Blog

Inside the rich world of RIA: Flash and Ajax

Sep 17, 2012 by Oana

Internet access is becoming indispensable for many of us, and the rate of Internet penetration into our houses is growing exponentially with the number of PC / laptops / netbooks / tablets / smartphones bought. Practically, as there are more devices on the market that allow you to connect to the Internet, more and more people are online. This phenomenon has triggered an increase in the number of web applications available on the net.

Although many have hurried to declare the desktop as obsolete, desktop applications continue to be developed and used. But at the same time, at a faster rate, new technologies are created for developing web applications (or simply apps).

Web applications are apps which can be accessed over a browser or a network, and require an Internet / Intranet connection to be delivered and run. On the other hand, RIA (also known as Rich Internet Applications) are web applications which hold the characteristics of a desktop application, but which can be accessed either via a browser, virtual machine or sandbox. Besides powering typical enterprise software, Rich Internet Applications have also become an important tool for developers who target the development of online gaming (also for apps that are focused on online screen capture, webcam-based conferencing etc.), and a valuable "merchandise" for IT companies, as they can offer the best of the two worlds: online and offline. One advantage is that RIAs are deployed using a Rich Client deployment model (the deployment is made via a browser) rather than a server-heavy model.

Silverlight and Adobe Flash (Adobe Air) are two of the most popular platforms that employ the principles behind RIA, but also there are quite a few other platforms available on the market: XBAP (XAML Browser Applications - which comes with WPF), Ajax and HTML 5.

If Flash and Silverlight represent application platforms which are deployed as browser plug-ins, HTML 5 is a development language for the WWW. The main advantage of application platforms is that the browser plug-ins are downloaded only once and there's no need to download them again, every time the page is displayed. This leads to smaller load times, reduced server load and bandwidth. Even more, it seems that in the long run the costs for RIA development are lower than that required by HTML alternatives, thanks to backwards compatibility of the runtime environments and to the well established standardization.

Let's take a closer look at the advantages of each technology:

Flash + Adobe AIR                                                                  

Adobe Air logoAdobe Flash logoFlash is a multimedia platform and a RIA tool, used for adding vivid animation and interactivity to applications, such as: ads, games, video-players and other types of web page content. For the time being it can be said that Flash is the most popular platform for developing Rich Internet Applications, offering an entire suite of tools which are both powerful and easy to use. Although Adobe Flash is not compatible with iOS, it makes up by providing a large variety of multimedia possibilities (it supports natively streaming audio and video), on the platforms on which it is available.

On the other hand Adobe AIR, also known as Adobe Integrated Runtime, is a cross-platform runtime environment for creating Rich Internet Applications that can be run as desktop applications, by using technologies such as Adobe Flash, Flex and, AJAX and HTML.

AIR can be used for developing applications that run on multiple platforms, such as: smartphones, e-books, tablets, netbooks, PCs and TVs, by taking advantage of the code reuse and intuitive environment. The result is an interactive and user-friendly experience across multiple screens.

Ajax (asynchronous JavaScript + XML)

AJAX, Asynchronous Javascript And XMLAjax is in fact a collection of interrelated web development technologies, for creating interactive web applications on the client-side. Being a set of technologies, Ajax combines HTML + JavaScript + CSS to build the page content & layout, and obtain the business data from the server. The data can be sent and retrieved asynchronously (so there's no need to interfere with the display and behavior of the actual page).

There are a series of disadvantages when using Ajax, the most important ones being:
  - Dynamic web pages updates may interfere with the user's actions and may not allow bookmarking
  - Also, if the user's browser is not compatible with JavaScript or XMLHttpRequest (or these features are disabled), then the pages which depend on Ajax will can not be used properly (the same problem occurs on gadgets, such as smartphones and PDAs that may not support the two technologies from above)
  - User interfaces powered by Ajax may require additional hardware, or may take longer to respond due to an increase in the number of user-generated requests to the server + database
  - For programmers, the code based on asynchronous programming may turn out to be complex, hard to maintain and debug.

Despite the multitude of RIA alternatives already available on the market, software developers have been engaged lately in reviewing, comparing, and writing books about  a new development language for the web (and apparently, the most promising one): HTML 5. But more about this in a future post.

Update: Inside the rich world of RIA: HTML 5, Silverlight and WPF-XBAP is here!

Also read:

Ajax technology - an introduction
Flash vs. HTML5 analysis

Tags: Programming  Web 


Website Development Las Vegas commented on 12/13/2012 9:28:49 AM

Now a days, use of Ajax is increasing day by day. Thanks for sharing this informative post regarding Flash and Ajax.

Your Comment: