Flexcomps’s Weblog

RIA Development Technologies

Posted by: Yogesh Puri on: August 7, 2008

Rich Internet applications (RIAs) are web applications that have the features and functionality of traditional desktop applications. RIAs typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e. the state of the program, the data, etc.) back on the application server.

RIAs typically do the following:

  • run in a web browser, or do not require software installation
  • run locally in a secure environment called a sandbox

A number of platforms on the market enable developers to create RIA applications, including the perennial favorite, Adobe Flash. Some of the top RIA platforms available today are:

Adobe Flash and Adobe Flex

The most popular RIA development tool to date is Adobe Flash and Adobe Flex. These technologies are cross-platform and quite powerful for creating rich client-side interactions.

Flash can manipulate vector and raster graphics and supports bi-directional streaming of audio and video. It contains a scripting language called ActionScript. It is available in most common web browsers and some mobile phones and other electronic devices (using Flash Lite). Several software products, systems, and devices are able to create or display Flash, including the Adobe Flash Player. The Adobe Flash Professional multimedia authoring program is used to create content for the Adobe Engagement Platform, such as web applications, games and movies, and content for mobile phones and other embedded devices.

Adobe Flex provides the option to create Flash UIs by compiling MXML, an XML-based interface description language. The Flex SDK comes with a set of user interface components including buttons, list boxes, trees, data grids, several text controls, and various layout containers. Charts and graphs are available as an add-on. Other features like web-services, drag and drop, modal dialogs, animation effects, application states, form validation, and other interactions round out the application framework.

However, perhaps the largest advantage of the Flash RIA platform is the install base of the plug-in, which at last count was 98% of the world’s computers.

Ajax frameworks

The second most popular RIA Development technology is Ajax, or Asynchronous JavaScript and XML (or XMLHttpRequest). It is a script-based RIA approach. JavaScript is the programming language with which Ajax calls are made.

With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page.  Data is retrieved using the XMLHttpRequest object or through the use of Remote Scripting in browsers that do not support it.

Ajax has quickly risen in popularity as it is supported by all modern browsers without the requirement for additional plug-ins. Like other RIAs, though, it is not well suited for search engine optimization or for handling clients that have disabled client-side scripts.

Adobe AIR

Adobe  AIR (Adobe Integrated Runtime), previously code-named Adobe “Apollo,” is a cross-operating-system runtime that allows web application developers to use their existing web development skills with RIA technologies (such as Flash/Flex, JavaScript/Ajax, and HTML) to build and deploy RIAs to the desktop. While not entirely RIA, this technology is closely related to rich applications technology as it targets the same developers.

Adobe positions it as a browser-less runtime for rich Internet applications that can be deployed onto the desktop, rather than a fully-fledged application framework. The differences between each deployment paradigm provide both advantages and disadvantages. For example, a rich internet application deployed in a browser does not require installation, while one deployed with AIR requires the application be packaged, digitally signed, and installed to the user’s local file system. However, this provides access to local storage and file systems, while browser-deployed applications are more limited in where and how data are accessed and stored. In most cases, rich internet applications store users’ data on their own servers, but the ability to consume and work with data on a user’s local file system allows for greater flexibility.

Microsoft Silverlight

Another way to build RIAs is Silverlight, which provides a rich graphics and animation display via XAML integration, and it includes support for multimedia and HTML interaction.

Silverlight was initially get developed under the codename Windows Presentation Foundation/Everywhere (WPF/E). It is compatible with multiple web browser products used on Microsoft Windows and Mac OS X operating systems. Mobile devices, starting with Windows Mobile 6 and Symbian (Series 60) phones, will also be supported.

A third-party free software implementation named Moonlight is under development to bring compatible functionality to GNU/Linux.

With Version 2, the .NET Framework is included, enabling client-side programming with managed languages such as C# and supported dynamic languages such as IronRuby. Like Adobe Flash Player, Silverlight code runs in a sandbox without direct access to platform APIs for security.

JavaFX

JavaFX is a new offering from Sun Microsystems that complements the Java family of tools. It addresses the growing demand in the Java community for RIA tools and technologies to deliver rich content to the client. Today the technology spans two releases: JavaFX Script and JavaFX Mobile. JavaFX Script gives Java developers the power to quickly create content-rich applications for the widest variety of clients, including mobile devices, desktops, and home electronics units. In theory, content creators now have a simple way to develop content for any Java-enabled device. JavaFX Mobile, on the other hand, is a complete software system for mobile devices.

OpenLaszlo

OpenLaszlo is an open source platform for the development and delivery of rich Internet applications. It is released under the Open Source Initiative-certified Common Public License.

The OpenLaszlo platform consists of the LZX programming language and the OpenLaszlo Server.

Laszlo applications can be deployed as traditional Java servlets, which are compiled and returned to the browser dynamically. This method requires that the web server be running the OpenLaszlo server.

Alternatively, Laszlo applications can be compiled from LZX into a binary SWF file, and loaded statically into an existing web page. This method is known as SOLO deployment. Applications deployed in this manner lack some functionality of servlet-contained files, such as the ability to consume SOAP web services and XML remote procedure calls.

Google Gears

Google Gears is beta software offered by Google to enable offline access to services that normally only work online. It installs a database engine, based on SQLite, on the client system to locally cache web application data. Google Gears-enabled pages use data from the local cache rather than from the online service. Using Google Gears, a web application may periodically synchronize the data in the local cache with the online service whenever a network connection is available. If a network connection is unavailable, the synchronization is deferred until a network connection is established. This allows Google Gears-enabled web applications to work disconnected from the Internet, making them more like their robust desktop counterparts. While not entirely RIA, this technology is closely related to rich applications technology as it addresses the key problem of application connectivity.

Content courtesy WikiPedia

2 Responses to "RIA Development Technologies"

..] Thank you for reading this post. You can now Leave A Comment (0) or Leave A ..]

For creating rich and powerful Web browser applications, also check out http://jnext.org.

Leave a Reply

 

August 2008
M T W T F S S
« Jul   Sep »
 123
45678910
11121314151617
18192021222324
25262728293031

Blog Stats

  • 94,229 hits