Beauty Is in the Eye of the Beholder
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Geoffrey Wiseman on Jun 20, 2007
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.
Monitor your Production Java App - includes JMX! Low Overhead - Free download
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
NOSQL, The Web And The Enterprise
18 agile and lean practices for effective software development governance
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 :)
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.
Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.
Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.
Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?
Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.
Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.
Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?
1 comment
Watch Thread Reply