DLG Software

Home of Gronell Consulting Services


Under construction!!   This is for RIA/Flex newbies.

Let's start with a definition of terms:
  • An RIA is a Rich Internet Application, a web-based application that provides functionality similar to a traditional desktop application.
  • Flex is a RIA development environment from Adobe. Flex apps execute within the Adobe Flash Player, which is installed on nearly all web-connected computers.
Until recently most web page interactions required frequent page refreshes - you filled in some fields, selected Continue, and the browser was reloaded with a new page in response to your selections. Interactivity was limited - Excel-like functionality of a dataGrid that allows you to grab a data column and drag it to a new location, or to dynamically resize a dataGrid column with a mouse drag, was simply not possible with basic HTML, not even with DHTML.

This situation dramatically improved with the introduction of asynchronous JavaScript and XML (Ajax). Ajax allowed a web page to incoporate components that could fetch information from a server and update themselves without performing a full page refresh.

However, while Ajax controls provided more functionality and interactivity to web pages Ajax still didn't provide the same experience as a desktop application. And the embedding of Ajax-enabled components is to a large degree an ad hoc solution, (as contrasted to true RIA development products like Flex which provides tight, seamless integration for all of its numerous components).

Another important benefit of RIAs is the ability to offload work from the web server, allowing the local client to perform many tasks. All in all, this provides greater interactivity, richer functionality, better performance.

One reason for RIAs greater functionality and cross-platform consistency derives from their execution environment. While RIAs run do run within a browser, in fact they run in a browser plug-in, or 'player', that is downloaded and installed onto the clients computer (a one-time install process). For example, Flex runs in Adobe's Flash player. Since this player is basically a virtual machine it can provide a rich, consistent feature set and look-and-feel across disparate browsers and operating systems (the unfullfilled promise of Java).

Major RIA Products:

Flex is at version 3 and is very stable and mature, with a rich set of controls and functionality. IMHO it sets the standard for RIA functionality.

Microsoft's RIA product is called Silverlight, which is currently at version 2. Like most early versions of Microsoft software, Silverlight 2 is rather painful to work with (Silverlight 1 was not even up to beta software standards). It should be noted that with time Microsoft generally gets it right, and it's likely that Silverlight 3 will be a strong competitor to Flex. I'll certainly be looking to work with it in the future.

Sun/Java's entry into the RIA sweepstakes is JavaFX. The concensus in the RIA world is that JavaFX is a very disappointing entry into the race and is far back in the pack.

Some useful RIA/Flex links:

General information on RIAs: More technical information on RIAs:
  • User Interface Resource Center's RIA page
  • Planet RIA
  • SYS-CON 06SEP07 panel discussion on RIAs (video)
  • Information on Adobe Flex: For dozens of good links for Flex developers see the page Flex Developer Sites.