rentzsch.com: tales from the red shed

Dashcode for Ajax App Development

Code

Now that the Dashcode genie is out of the bottle, allow me to point out something that may not be immediately obvious: Dashcode is a pretty sweet environment for Ajax development.

Sure, Apple’s going to sell Dashcode for easy Widget development, but Widgets are just Ajax applets themselves. HTML+JavaScript+XHR.

You have an editor with JavaScript syntax coloring, alert()’s are turned into asynchronous log entries. But your need for alert()-style debugging is greatly reduced because you can set visual breakpoints and examine the call stack and examine+modify variables. Nice. It also has a JavaScript toplevel (they call it an “Evaluator”).

Firefox (coupled with its developer plugins like Firebug, Web Developer and Tamper Data) is more still a more powerful development environment overall, but it’s much more hand-rolled and Dashcode is very slick.

Perhaps the biggest downside to Ajax development with Dashcode is WebKit itself. It’s not out of spite that Google’s latest Ajax apps tend not to work with Safari at launch (typically becoming compatible a few weeks later) — WebKit’s Ajax is subpar. It’s not IE-bad, but it’s nowhere close to Firefox (for example, script.aculo.us unit tests fail on Safari). Because of this, the standard development methodology to to developer in Firefox, get it working, then butcher your code as necessary to meet Safari and IE.

If Dashcode does get pressed into service as a slick Ajax dev environment, perhaps it will raise the consciousness of WebKit’s subpar Ajax support, with the framework devs and the WebKit crew working to meet in the middle to get it reasonable. Who knows, maybe even the best.

Wednesday, May 24, 2006
12:00 AM