- Related Stories
-
Google's first mashup goes green
May 30, 2006 -
Web 2.0 meets the enterprise
April 28, 2006 -
IBM eyes programming for the masses
April 26, 2006 -
Microsoft offers early peek at designer tools
January 24, 2006 -
Ajax gives software a fresh look
October 4, 2005
Since that evening, I've spent quite some time researching the AJAX phenomenon, and I've come to a conclusion: I don't get it. AJAX allows a client that is running in a Web browser to communicate asynchronously with a server and to update the browser page dynamically. OK, that's nice; I have always hated browser-based applications that force you to click your way through endless forms and exhibit noticeable delays in updating the screen after you've done anything at all.
In fact, with a few exceptions, I have hated just about every browser-based application that I've ever used. For me, the browser just isn't a good application container. Yes, it is workable, but you constantly find yourself fighting the browser's weaknesses rather than leveraging the browser's strengths. Back button and history issues, security issues, session management issues and HTML/JavaScript incompatibilities all come to mind.
AJAX happens to solve one of the problems--a problem that wouldn't exist if the browser weren't such a lousy application container.
It seems like most legitimate use cases of AJAX make a browser-based application behave more like a rich or smart-client application. What's wrong with rich or smart-client platforms for developing rich or smart-client applications? What's wrong with serving a rich, interactive GUI (graphical user interface) as a Java applet or even as a Java Web Start application, for example?
Over many years, I have seen some beautiful examples of such applications that communicate asynchronously with a server and leverage the complete set of powerful, built-in GUI components.
AJAX is new. AJAX is sexy, but it is hardly revolutionary. I am neither a GUI nor a browser specialist, but I have been able to develop some really nice, portable application interfaces as Java applets for years now. They were at least as portable as AJAX applications are, and they did some things with trivial effort that you would have to work really, really hard for in AJAX.
I certainly admire what the Google engineers did with Google Maps, and I agree with 99.9 percent of people that a rich e-mail client GUI is much nicer than the silly old-fashioned Web mail client interfaces were. I thought to myself: "Man, how did they do that in a browser without applets or embedded objects?"
I admire these solutions the same way I would admire a really smart library that gives a COBOL application similar list-processing capabilities to a Lisp one. There's nothing wrong with the engineers who created the solution. It's the people who wrote the requirements that baffle me. Why do we keep working around browser limitations when someone could be making the browser a better application container?
Before jumping on the AJAX bandwagon, be sure to ask yourself the following questions:
What problems am I trying to solve?
Are there other possible solution approaches, and should I re-evaluate them if the last time I looked at them was five years ago?
What are the security implications of publishing all these XMLHttpRequest endpoints?
Don't misinterpret my discontent as an endorsement of applets over AJAX. Rather, think of it as my reason for asking, "What exactly is it that makes AJAX so wonderful?" Could I have filled a 300-person auditorium with a presentation on "Rich, dynamic Web clients using Java applets?" I'm sure I couldn't have.
Biography
Alex Krapf is the president and co-founder of CodeMesh, a provider of language integration products.
See more CNET content tagged:
AJAX, GUI, Java applet, Java, Web browser







- Finally, an intelligent, level-headed and objective perspective
- by ProfessorDino April 24, 2008 6:20 PM PDT
- Who doesn't love AJAX? But yes, this is precisely the kind of "take a step back for a second" dialogue we should be having amongst ourselves versus diving into AJAX (and all its frameworks) with reckless abandon--which I don't think JJG ever intended to happen.<br /><br />The same goes for the Ruby on Rails crowd...in fact, Dear Author: please focus on them next :)
- Like this Reply to this comment
-
-
- Not Objective at All
- by mstrclark April 24, 2008 6:20 PM PDT
- The author ask what's wring with AJAX but not what wrong with Java applets, smart-clients, or rich-applications. There are lots are reason not to choose either of those technologies.<br /><br />You also have to ask you're self, "what problems am I trying to solve and what would be the best way to solve it." Most often the three methods preferred by the author don't make sense.
- Like this
-
(20 Comments)