This is going to be a reality check about Ajax from within Google. Let’s strip away the hype.
First, the name, as mentioned before, is bad but… it’s better than no name. It boils down to Client Side Scripting (but the acronym CSS was taken). If you’re doing client-side scripting on the Web, that means JavaScript.
Steffen says paradigm four times. Buzzwordtastic.
With Ajax, sophisticated user interaction is now possible. Also, state can be persistent because the page isn’t reloading. Server Side Session State was created by lazy programmers and it causes a lot of trouble. It expires, always at the wrong time. It’s okay for one server, but doesn’t scale well for server farms. Steffen’s got a real thing about SSSS. For him, that’s one of the best things about Ajax.
Web applications are like pop music compared to the opera of real software engineering.
What’s in Ajax: CSS, DOM and JavaScript.
CSS layout is the equivalent of a politician’s election promise.
The Document Object is the programming interface to a web document. It’s all about the nodes, baby. He doesn’t like the naming conventions of the DOM. nodeName
, nodeType
and nodeValue
are prefixed with the term “node” but parentNode
and childNodes
are suffixed. There’s nothing in the DOM script about how to handle partially rendered documents. Ah, it’s the old onload
problem.
JavaScript is the central technology. It had a bad reputation - deservedly so, says Steffen. The fact that semicolons can be omitted is a nightmare.
The situation sounds bad but look on the bright side: what doesn’t kill us makes us stronger.
Seamless integration (between client and server logic) is trumpeted as a good thing. But think about your clothes: seams are actually a good thing — they give form.
Cross browser incompatibilities force you to create good robust libraries. Now he’s reaching.
He’s off an a rant about browser inconsistencies with event handling.
Okay, now that he’s done dissing JavaScript and the DOM, he’s going to rehabilitate them. JavaScript is really a pretty darn nifty programming language. It’s been described as Lisp with C syntax.
Steffen would get on well with Douglas Crockford.
Now he’s talking about how great closures are for function scope.
But here comes Ryan, stage right. All he needs is a long hook to drag him off. Steffen is rushing now through his final points.
“Don’t build a framework! The browser is a framework!”, he cries as Ryan drags him off.