Gettin’ my learn on.

This week has been an interesting one. I had the monumental task of building a web app which depended heavily on AJAX to work. If I was being picky I’d say that it actually depended on AJAJ as it used JSON as the data transfer medium rather than XML, but AJAJ doesn’t roll off the tongue as nicely.

The reasons for diving headlong into JavaScript, a language which I have never really used properly, and creating a lot of work for myself in terms of research and referencing are two-fold:

  1. To better learn MochiKit, a component of TurboGears, so that my future use of TG is more rapid rather than stymied by a lack of knowledge.
  2. To learn JavaScript and methods of using AJAX as a whole as it seems to be the tool to leverage in your web-apps at the moment.

Needless to say, I have accomplished what I set out to do - at least to a certain degree… who can know all there is to know on a subject after all - even if I haven’t finished the web app yet. I’m now happier battling it out with JavaScript rather than foundering in a sea of “WTF?!”.

The app I’m working on is an online booking management system. The client side is nice and simple, with virtually no JavaScript to be seen to allow anyone and their dog to view it in whatever browser they choose. The Admin side of things, however, is a big collection of AJAX using MochiKit, script.aculo.us effects and other tricks to achieve inline editing, one “page” for the entire app, a calendar and action list that refreshes every 30 seconds, instant form validation, and other such delights.

Due to the immense amount of brain frying I’ve done over the week it’s unsurprising that I’m now shattered. The old saying “so much to do, and so little time” is at the very front of my mind at the moment.