RIA Development Center
FeaturesTipsEventsVideosSilverlight GallerySilverlight Hosting Resources
Which platform do you use most often?
(Check one)
AIR
AJAX
Flash
JavaFX
Silverlight
Other

View Results
Get regular email alerts when we publish new features!
DevX RIA Development Update

More Newsletters
What Does it Take to Build the Best RIA? (cont'd)

Development Considerations
Before you can get a RIA in front of people you have to build it, so a major consideration in choosing any RIA technology is the toolset available to support development.

Microsoft has long been known for building exceptional development tools for its product lines, and Silverlight certainly continues the trend. You have the option of building Silverlight applications in Visual Studio®, which is geared more toward developers, or Expression® Studio, which is geared more towards designers. Each offers a XAML editor that allows you to build complex user interfaces, but Expression Studio offers designers a more complete venue for creating animations and applying visual effects to elements using a drag and drop interface. Visual Studio, on the other hand, offers all of the advanced development and debugging tools Microsoft developers have come to expect.

Another major developmental benefit to Silverlight 2.0 is support for .NET managed code for writing application logic, giving you access to a high performance, feature rich core framework that supports object oriented programming concepts like inheritance and polymorphism, and advanced language features like generics and partial classes. Silverlight 2.0 operations written in managed code can realize execution speeds more than 1000 times faster than comparable code written in un-managed JavaScript. Check out the Silverlight 2.0 Chess application that pits .NET code vs. JavaScript code, and pay special attention to the Node per second performance used to calculate moves. Managed code also comes in a variety of languages, allowing Silverlight developers to work with C#, VB, IronPython, and IronRuby. With the possibility of more languages to come, Silverlight should appeal to a wide variety of developers with different backgrounds.

Adobe provides three different paths for developers creating RIAs based on their existing familiarity with various languages and Adobe products. Those most comfortable with HTML and JavaScript can develop RIAs directly within Aptana or the Dreamweaver CS3 Web development IDEs using the Adobe AIR SDK. Flash developers can create RIAs from within Flash after downloading an update for Flash CS3, though integrated support is scheduled to be built-in for a future release. As a presentation technology, Flash is well suited for building visually compelling content but not necessarily full-blown applications, which is where Flex steps in to fill the gap. Flex offers better support for code separation and application development than Flash, though it still relies on ActionScript for any application logic. ActionScript is an ECMAScript compliant language similar to JavaScript that supports basic OOP support. Flex Builder 3 offers Flex developers an Eclipse-Based IDE for building RIAs using the Flex 3 SDK, as well as a drag and drop interface for creating MXML GUIs.

JavaFX developmental support is fairly sparse, primarily consisting of the OpenJFX plug-in for NetBeans, which provides basic support for JavaFX script project creation and compilation. NetBeans is currently the only supported IDE for JavaFX. Two third-party applications make up the backbone of JavaFX visual support. JavaFXPad is a text editor that allows you to write JavaFX script and see the visual output in a preview window, but does not offer any drag-and-drop support for visual elements. And perhaps the most advanced graphical tool for JavaFX is JFXBuilder, a Web start application from ReportMill software that provides a drag-and-drop interface for building JavaFX GUIs. JavaFX script itself is a non-xml based declarative language that looks like a mix of Java and CSS.

Deployment Considerations
Building a RIA is just one part of the process, another part is getting it in front of people and making sure it performs adequately.

Microsoft Silverlight and Adobe Flash are both browser-based plug-ins with similar deployment scenarios. When a user visits a page with a Silverlight or Flash component, and the user does not have the appropriate plug-in installed, the page displays a message in the area where the component normally renders to inform the user they need to download the appropriate plug-in. From there, the user can navigate to the Microsoft or Adobe site and follow instructions to download the Silverlight or Flash plug-in.

Adobe AIR applications, however, are packaged as .AIR files and downloaded, not embedded in a Web page. Users without AIR installed on their system will inevitably get a "What program do you want to use to run this file?" prompt when they try to run the file, so AIR deployments will require more instruction to ensure users know how to get AIR applications running.

JavaFX script ultimately compiles down to Java byte code, so it runs on the same Java Virtual Machine as standard Java applets and does not require a specific JavaFX plug-in. As long as the system has a Java Virtual Machine (JVM) it can run JavaFX. Mac OS includes a JVM, so there are no additional downloads to run JavaFX on Mac. On Windows systems, both Firefox and Internet Explorer® display a popup message informing the user that the page is trying to run a Java applet without a JVM installed. Firefox then offers a plug-in to help install the JVM, whereas Internet Explorer redirects to a page with instructions for downloading and installing the JVM manually.

For reference, the file sizes of the various RIA technologies are included below. People with broadband connections should not be taken aback by the download size, but dialup users may find wait times for some of the technologies a bit lengthy. In general, a 56k dialup user can expect to download 1 Mb every three and a half minutes.

RIA Technology Download Sizes

 

Windows

Mac

Silverlight 1.0

1.4 Mb

4.7 Mb

Silverlight 2.0 (Beta) **

4.4 Mb

7.7 Mb

Adobe Flash Player 9

1.5 Mb

5.0 Mb

Adobe AIR (Beta) **

11.0 Mb

15.5 Mb

JavaFX (Java Runtime)

15.0 Mb

13.5 Mb *

* Mac OS includes a Java Virtual Machine
** Download sizes for Alpha / Beta releases are subject to change

Previous Page: RIA Frameworks Options Next Page: Performance Considerations
Page 1: RIA Frameworks OptionsPage 3: Performance Considerations
Page 2: Development Considerations 
Rate This Content:
Low     High
3 after 6 ratings