RIA Development Center
Features Tips Events
Delivering business processing logic through RIA (Rich Internet Application) format is very attractive to architects, developers and operators of IT shops. RIA combines the richness of the desktop application with the ease of deployment, ubiquity and platform independence of the web application. RIAs in the form of mashups, are very popular in the consumer space but have yet to see similar success in the enterprise space. Enterprise applications are stateful and process-centric in nature. Read more
See more tips
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)

Performance Considerations
Being graphically intense in nature, RIA frameworks need to be optimized for graphical performance to ensure a smooth visual experience to viewers. Performance testing requires a benchmark test that performs a similar operation using various platforms in order to compare results, and fortunately Bubblemark.com has built out just such a benchmark using a variety of RIA technologies.

To test each RIA technology, the benchmarking application creates a series of animated balls that bounce around the screen. Performance is determined by the frames per second (FPS) at which the balls are drawn by each RIA technology. Following are the statistics from my Windows Vista®-based machine in Internet Explorer 7.0:

Bubblemark Benchmarks Results on Windows Vista in IE 7

 

16 Balls

64 Balls

128 Balls

Silverlight 2.0 (Alpha)

202

60

34

Adobe Flash 9

64

38

20

Adobe Flash 9 (Optimized)

63

63

47

Adobe AIR (Beta)

-

-

-

JavaFX (Beta)

82

28

15

One of the first things to note in the results is the difference between the Adobe Flash and the Adobe Flash (Optimized) results. The optimized version of the Flash benchmark uses a bitmap caching technique to avoid reloading the bubble image, which is why the times for the optimized code do not decrease as drastically as the number of balls on the screen increases. In a live application it is unlikely that you can realize such performance gains because you probably won't be reloading the same image to such an extent.

Also, the AIR benchmark was written for an alpha release of AIR (originally codenamed Apollo) that is no longer supported, so I could not get the benchmark numbers for my machine. In reading others results, however, AIR's benchmark appears to resemble that of Flash. Bubblemark.com should have an updated version of the AIR benchmark in due time, where you can give it a test drive all your own.

Most of the results postings I've run across thus far show that Silverlight has higher performance benchmarks than Flash (the non-optimized version), and that JavaFX has the lowest benchmark performance of the three. Of course, you can point your browser at Bubblemark.com and try out the various technologies on your own machine and see how the results compare.

Conclusion
Microsoft Silverlight and the Adobe Flash platform are certainly the more refined contenders in the RIA technology space, offering designers and developers the tools they need to build gripping interactive content and end users a simple installation experience. JavaFX is a relatively new technology that will appeal to Java developers wanting to simplify Swing development, but it currently lacks many of the development and graphical design tools that accelerate building RIAs.

AIR is also an innovative technology for cross-platform desktop deployments, but similar technologies like Mozilla's Prism project may render it a bit less compelling. Prism's goal is to bring the Web to the desktop without the browser, and that would presumably include Silverlight, Adobe Flash, and JavaFX.

Silverlight has proven that it can outperform other RIA contenders, and has the potential to prevail as the leader in development tools and language support, making it simple for existing C# and VB developers to ease into Silverlight development. Open source developers familiar with Python and Ruby may also opt for Silverlight as compared to switching over to ActionScript. And since Silverlight is effectively a subset of the Windows Presentation Foundation (WPF), it opens the possibility for desktop developers to apply their skill set towards Web applications with relatively ease. As such, Silverlight is likely to gain popularity with developers, which means it will end up in front of more and more users.

* This article was commissioned by and prepared for Microsoft Corporation. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Previous Page: Development Considerations  
Damon Armstrong is a senior architect with Cogent Company in Dallas, Texas, and author of 'Pro ASP.NET 2.0 Website Programming'. He specializes in Microsoft technologies with a focus on Web application design using ASP.NET. When not staying up all night coding, he can be found playing disc golf, softball, working on something for Carrollton Young Life, or recovering from coding all night.
Page 1: RIA Frameworks OptionsPage 3: Performance Considerations
Page 2: Development Considerations 
We have a winner in the RIA Run contest! Check out the Contest Winners Gallery and see which entries took the top prizes. You can play the games, too! Also, be sure to check out our interview with the grand prize winner to see how he crafted his winning entry. (Silverlight 2 Beta 2 required)