Two Views of AJAX

On the O’Reilly editors’ mailing list, Simon St. Laurent made some interesting observations about how two different groups of developers react to AJAX:

The basic fault line is between web developers who are comfortable monkeying around with web pages, and programmers who have spent years trying to abstract that stuff away. Then there are a lot of smaller lines on each side of that fault. On one side of the fault (programmers) the lines are canyons, while on the other side (web developers) they’re more like painted lines on a playing field.

Web developers don’t mind working with JavaScript – it’s just another piece of the toolkit, with HTML and CSS. They don’t mind working on a page-by-page basis when necessary, though (as with style sheets), they’re also happy to use libraries where possible, sharing code across a site or across multiple sites.

(Despite my growing fondness for Ruby on Rails, I’m in the first group by temperament.)

Programmers, on the other hand, tend to regard JavaScript as a tangled mess, look with horror on the perverse combination of scripting and HTML, and would really rather work by sending objects with a presentation layer to their users. They’ve spent years building and polishing a variety of tools which abstract away much of the HTML (and JavaScript) detail, allowing them to create applications which then only need a designer to cook up some CSS to make them prettier.

Both of these groups are interested in Ajax, but they’ll come to it in different ways. The web developers are happy to get up close and personal with scripting the DOM, though libraries to help with that are still welcome. The programmers would much rather see a few brave souls incorporate Ajax into the frameworks they’re already using so they can just flip a switch and call the next release of their web app Ajax-enabled.

This opening led to a discussion of the different information needs of these two groups. I’d love your thoughts. Is Simon onto something? Or are the fault lines less clear than he argues?