Different AJAX Philosophies and Architecture Styles or Thin vs. Fat AJAX

I spent almost a whole night discussing, whether AJAX is the right technology for simulating Swing or SWT clients or not.
There were several speakers involved  and we had completely different opinions about AJAX. Also some comments from my
last entry "The day after AJAX" confused me a little. The problem in both cases was: it seems like there are different architecture styles philosophies in the AJAX-world:

  1. Using asynchronous communication and partial updates to make existing webapplications more usable. In this strategy the applications are still looking like webapplications and browser works like expected. Such applications are still thin - (TAJAX? :-))
  2. The second strategy is more radical. In this case, developers trying to use browser as a platform for the delivery of rich, or even fat clients. In this case own widget toolkits layout managers etc. are often used. Frameworks like dojo provide even a whole event mechanism framework, clientside storage is also often used. Such Fat-AJAX applications (FAJAX? :-)) behave more like a native application and have nothing in common with an usual website.

I my opinion TAJAX is absolutely valid, useful, still maintainable and provides added value. I didn't mentioned this strategy in my past entries ("The day after AJAX" and "The beginning of WEB 3.0 with Java Fat Clients").

The FAJAX notion is more problematic. FAJAX is harder to develop (there are no comparable tools to Netbeans, Eclipse or VisualStudio for JavaScript/DOM development), even harder to maintain (AJAX frameworks like dojo are still evolving and are not stable yet). From the architectural perspective they are even more crazy. We misuse browser to simulate a Java VM with framework like Swing or SWT. The one and only argument speaking for FAJAX is the expensive deployment and installation. In case deployment becomes more expensive, than the development of real, native rich clients, or is not possible, then FAJAX might be a valid, but still brittle, solution.
In other cases (e.g. intranet) Swing with JNLP or SWT with eclipse's update manager are still easier to develop maintain and are also more powerful. Sometime is an Old Plain Swing Application (OPSA? :-) ) even cooler than AJAX: checkout aerith or LookingGlass.

So always ask the question "Why?" in case there is no reasonable answer (from the customer perspective, from the development perspective it is always one -> coolness) - you are going to practice the "The VooDoo consulting style". 



One more hint:



The first con against Web 3.0 Fat-Client, at least with .NET 3.0:
Hardware requirements:

* Windows XP SP2 or Windows Vista
* 1Ghz processor
* Minimum: 384 MB RAM
* Recommended: 500 MB RAM

Recommended 500 MB RAM is still too fat for a average desktop-pc, but maybe this is only a bad example.

Posted by Roman Broich on October 02, 2006 at 01:48 PM CEST #


thank you very much for your comment and hints (exactly what I meant).
You are right - you cannot propably expect from every internet user to have a workstation with 500MB RAM. In a corporate network like intranet or extranet this shouldn't be a big problem.

Things like hardware should be taken into consideration. But on the other hand .NET and Java can be compiled into machine code (hotspot or JIT), and JavaScript is always interpreted... So from the technical perspective Java should be ALWAYS faster than JavaScript

Posted by Adam Bien on October 02, 2006 at 09:21 PM CEST #

Perhaps not apropos, but this has started to bother me when I started to look into this: how do these people pull it off with FAJAX at all? I mean, am I just a sucker for a good IDE (including a good debugger) - GWT is hard enough and that allows you to use Eclipse and all, but what about these other complex things -- YouOS, Tibco's recently open-sourced GI, etc. How do they do it? Are they really that good to write it all by hand and only iron out little wrinkles here and there, or there are some powerful tools that I have missed?

Posted by DEBEDb on October 03, 2006 at 11:49 AM CEST #


my opinion: contractors and consultants need new contracts :-). At the other hand developers love new technologies and paradigms and hope, that everything becomes better and easier. This synergy is a perfect environment for a new hype, new products and new projects :-).

Posted by Adam Bien on October 03, 2006 at 12:04 PM CEST #

I call these styles Great Ajax and Little Ajax, since they are the two Ajaxes in the Iliad.



Posted by Mats Henricson on October 06, 2006 at 12:32 PM CEST #

I call these styles Great Ajax and Little Ajax, since they are the two Ajaxes in the Iliad. The first Google hit for "little ajax iliad" gives you a list of all characters in the Iliad. Can't paste a link, since that makes Roller label my post as spam...


Posted by Mats Henricson on October 06, 2006 at 12:34 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
...the last 150 posts
...the last 10 comments