It seems like every other post I read mentions AJAX somewhere. The whole AJAX thing seems like a total farse to me. Let’s take a quick walk through the recent history of application development:
- Back in the day everything was host-based. Everyone had dumb terminals linked to the corporate mainframe.
- Fast forward a few years and host-based computing is evil and client-server rules.
- Fast forward a few years and client-server is evil and everybody wants multi-tier architecture and browser clients, which has essentially moved us back to a variation on the host-based systems with clunky interfaces.
- Bringing us to the present, where people still want their multi-tier environments, but they want client-server style flexibility in their interfaces.
So AJAX comes to the rescue, providing client-server style controls and functionality in web pages by roping together lots of stuff we’ve been using for years. The problem is, it brings all those old problems of cross-browser compatibility back into focus.
I read an article by Frank Nimphius this morning, where he mentions some of the problems with running AJAX applications in browsers, like the “Back” button, and asks if we need an AJAX client, rather than a browser. I understand what he’s saying, but I think he’s asking the wrong question. AJAX is a cobbled together solution for a bigger problem. The problem is the browser environment, so I say fix the problem.
Browsers are good at what they were designed for, but they don’t do complex client-server type work without using poor makeshift solutions like AJAX. You can use ActiveX controls or Java Applets, but neither is universally accepted and both suffer similar problems to AJAX with respect to browser navigation. What we really need is a new standard web application client or runtime environment with all the required functionality built in. That way complex web development can move out of the dark ages. I’m not saying it’s going to be easy, but it’s got to beat the rag-tag AJAX solutions I’ve seen so far!