My friend's sofa was hemorrhaging copious amounts of stuffing and had long ago lost any semblance of comfort or style normally required of furniture. Nevertheless, we found ourselves parked on the unsightly couch awaiting the start of Gojira, an iconic 1954 Japanese horror movie more commonly known by its English remake entitled Godzilla. It's one of those movies you watch with friends when you have almost nothing else to do. Poorly dubbed kung-fu movies are also a good option.
Basically, the film is about an enormous, radioactively-mutated, dinosaur-like sea monster that trashes Tokyo. The movie has a plot, possibly even a sub-plot or two, but those qualities are quickly lost against the amazing special effects that brought the awe inspiring Godzilla to the big screen: most notably a guy in a big rubber lizard suit stomping around a miniature balsa wood Tokyo. In 1954 it was an amazing display of cinematic grandeur, but today, well… not so much. Audiences have come to expect a significantly higher degree of realism in visual effects.
Those same people who require a small army of CG experts, designers, consultants, and editors to impress them at theaters head home shortly thereafter and browse the Web with ever increasing visual and interactive expectations. Soon enough they'll run across your Website, and keeping up with those demanding expectations requires more than HTML has to offer, which is why Rich Interactive Applications are such an important topic for business trying to make an impression. But with a variety of RIA technologies on the market, how do you choose which one is best for you and your Website?
RIA Frameworks Options
Before you can choose a RIA framework you need to know the available options. In this article we will be focusing on the three big leaders in the RIA framework space: Microsoft® Silverlight™, Adobe Flash / Flex / Adobe Integrated Runtime (AIR), and JavaFX. Microsoft Silverlight 1.0 and Adobe Flex/AIR are both available as production releases, while Microsoft Silverlight 2.0 (Beta), and JavaFX (Beta) are available as developmental releases. Silverlight 2.0 Beta also comes with the option of a "go-live" license for early adopters.
Silverlight is Microsoft's lightweight, cross-browser, cross-platform solution for delivering RIAs using a subset of the .NET Framework base class libraries included directly in the Silverlight runtime. Silverlight employs Extensible Application Markup Language (XAML), the declarative XML-based language found in the Windows® Presentation Foundation (WPF), to define visual elements, vector graphics, effects, animation sequences, data objects, and data interaction in the user interface. More complex business logic for Silverlight components is maintained separately from the user interface definition and, in Silverlight 2.0, can be written with managed code using a variety of .NET languages or JavaScript. Silverlight 1.0 only supports JavaScript.
Adobe's Flash platform contains three components for building RIAs: Flash, Flex, and the Adobe Integrated Runtime (AIR) . Flash is a presentation technology well known for its vector image and animation support, and allows Flash developers to create interactive user experiences using ActionScript. Flex is a development framework for building RIAs using an xml-based declarative language known as MXML in conjunction with ActionScript, which provides a cleaner separation of UI and logic than traditional Flash applications. Flex solutions do, however, play in the Flash player.
AIR is a cross-platform runtime from Adobe that allows developers to create RIAs for the desktop using HTML, JavaScript, Flash, or Flex. In other words, AIR itself is not an RIA framework but rather an RIA deployment technology that runs Flash, Flex, and HTML applications without a browser. It is similar in concept to Microsoft's ClickOnce deployment technology for Windows-based applications, though AIR runs on both Windows and Mac-based systems.
JavaFX is a family of scripting technologies built on top of the Java Platform for developing RIAs. Currently, JavaFX consists of two products: JavaFX Script and JavaFX Mobile. JavaFX Script is a non-xml based declarative language that simplifies the syntax for building visual interfaces that normally require a great deal of Swing code. JavaFX Script is ultimately compiled down to Java byte code, so it runs on existing Java virtual machines. JavaFX Mobile is an operating system for mobile devices designed around deploying RIAs on personal electronics.