cee oh em gee tee - "commgitt"
Login to access.
User: pw: ?

From Dr.Dobb's RIA REPORT 2008-08-14

On Rich Internet Applications, platforms etc


What's New, Now, and Next in RIAVille

by Dana Moore

In the space of a couple years, Rich Internet Applications (RIAs) have taken the development world by storm, overturning older models in record time, even by software development standards. Developers, even in stodgy enterprise settings, have flocked en masse to the concept of full-featured, zero-footprint, zero-configuration application that never requires distribution, update or management by corporate IT.

For as much turmoil and re-evaluation of development design and implementation technique that RIAs themselves are causing for traditional development, the RIA landscape itself is rapidly undergoing turbulence. A lot has changed in a very short time, and the generally good news is that we developers are the direct beneficiaries. Growth and evolution have been both been rapid and occuring along several dimensions.

Platform Choice

A couple years back, it seemed that if you couldn't write Rails, you were not a serious player in RIA development. Now there are more full scope frameworks in more languages than can readily be reviewed. For PHP, developers have choices like Cake, Symfony, and Seagull. If Perl is your language of choice, Catalyst seems a good choice. If you can't live without Java, you've got Wicket, Sails, Trails, and GWT, and if you really need to get in under the enterprise radar, using .NET while at the same time embracing agile development, MonoRail seems up to the task. Even Smalltalk gets RIA capabilities through Seaside. Ruby gets one-upped by the simpler, less complicated Merb, and Python, already with two terrific contenders in Turbogears, and Django, now gains a third in Subway.

Taming the JavaScript Monster

Much has been done to make working with JavaScript more tractable, beginning with the the first generation of solutions like RJS JavaScript generators for Rails, or aggregation libraries like MochiKit. Still, putting an overlay on a critically flawed language is a bandaid on a deep wound, especially when it comes to debugging the generated JavaScript. Most recently, Adobe took the bold step of changing the underlying proposition with ActionScript 3, a significantly better scripting language that compensates for some of JavaScript's most egregious flaws. Coupled with Adode's Flex toolkit itself, championed by many developers as the most significant advance in RIA client-side development tools available, ActionScript goes a long way toward improving on JavaScript. Coupled with the runtime debug capabilities offered by the welcome appearance of the Firebug plugin for Firefox, these advances go a long way toward taming the JavaScript beast.

Solving the Online/Offline "Debate"

In the last year or so, the platform adherents fought the RIA trend, arguing that given the possibility of network unavailability, applications can't possibly be completely network dependent. They argued that there was still a reason for rich client platforms; that the value added by adhering to the venerable platform specific toolkit was still important. Not so, said Adobe, who put an exclamation mark on their assertion by producing the incredibly cool AIR runtime which lets developers use the same tools and development paradigm for online and offline applications. Even Microsoft got in the game with Silverlight.

The More Things Change ...

Though toolkits may change and evolve, and new RIA approaches emerge, one aspect of RIAs remains unchanged. They deliver on their promise, offering an agile approach for developers of a wide range of applications. Over the last year at BBN, we've designed and implemented Python-based RIAs for applications as different as chalk and cheese -- one an altered reality game based on Django and another an entire smart sensor web and wearable alerting system using gumstix embedded processors using TurboGears. What's next on the horizon? Given the sudden appearance of "application platforms" (think iPhone,) you can certainly expect to be developing apps that wil be running there too, without paying the penalty of learning specific SDKs.



Updated 2008-09-18