InfoQ

News

The Three Religions of Rich Internet Applications

Posted by Geoffrey Wiseman on Jun 20, 2007

Community
.NET,
Java
Topics
Rich Internet Apps ,
Silverlight
Tags
Flex ,
Apollo ,
Flash

From Ajax to Silverlight, Apollo and the Adobe Integrated Runtime to Flex and Flash, from JavaFX to OpenLaszlo, Rich Internet Aplications seem to be on the tip of everyone's tongue these days. Vendors are vying for attention, and developers are trying to select the 'right' technology.

In all that noise and confusion, it's easy to lose track of the fact that what people mean when they talk about Rich Internet Applications differs. There are different philosophies about how RIAs should be architected, from Chris Messina's Thoughts on Mozilla and the Open Web about which Brendan Eich opined to the new technologies being offered by Microsoft and Adobe.

Simon Morris cuts through all that to identify a taxonomy of Rich Internet Applications, the "three distinct religions in the RIA space."

Browserism is the belief that the web browser (or comparable page-centric markup-orientated HTTP-bound middleware platform) is the future of end user facing software; a belief solely based on observation that the web is currently the predominant tool for accessing the internet.

Neo-Desktopism is the belief that the web browser as an end user facing application platform is ultimately an evolutionary cul-de-sac. The goal of Neo-Desktopism is to evolve traditional desktop application technologies (for Java, this would be Swing and AWT primarily, although also includes the JRE itself) to a point where they can float free of a physical local client installation, deploying on demand just like web pages.

Pragmatic Neo-Desktopism is the belief that the web browser as an end user facing application platform is ultimately an evolutionary cul-de-sac, but we'd all get fired if we admitted that to our bosses.

All tongue-in-cheek aside, these really are three significant camps within the spectrum of Rich Internet Application technologies. Simon goes on to explain the philosophy he favors:

A desirable Rich Internet Application platform, I'd suggest, will be reached by mutating the current Rich Non-internet Application platform (aka, regular desktop app technologies) to a point where they can live in 'cyberspace' (ug!) rather than on someone's hard drive, while still retaining all the functional richness and user interface finesse of their ancestors.

Will Hartung points out that some applications blur the lines between these camps somewhat:

Just to confuse Simon, what IS Thunderbird? Is it Browserism or is it Neo-Desktopism? The VAST builk of Thunderbird is written in Javascript. The overarching goal is to further get the runtime behind Thunderbird (and Firefox) refactored so that it can be a headless system to upon which to better write client applications.

So, where are Rich Internet Applications headed, are they important and which technologies and architectures do you believe will survive and shape the way we build applications in the future?

We'll try and keep you informed as the situation evolves, here at InfoQ.

Feel strange on sequence and category... by sand wish Posted Jun 23, 2007 10:09 AM
  1. Back to top

    Feel strange on sequence and category...

    Jun 23, 2007 10:09 AM by sand wish

    1. "Apollo and the Adobe Integrated Runtime to Flex and Flash, from JavaFX to OpenLaszlo" should be reordered as "Flex and Flash to Apollo and AIR, from OpenLaszlo to JavaFX". Actually, I didn't figure out where the comparability is between OpenLaszlo and JavaFX.

    2.The taxonomy of these RIA mouthpieces can be categorized more naturally as Browserism and VMism(VM=Virtual Machine).

    Comments are welcome :)

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.