Through the tail end of last week and into this weekend, I’ve been learning some (more) javascript, learning to use the jQuery library/framework, and learning to make AJAX work. I’ve discovered just how much of a royal pain it is to trap keyboard events in a way that works across platforms (mac-pc, mostly, is what I care about), though I did get pretty much all of the keyboard stuff I wanted working (arrow keys, ctrl+arrow keys, enter key). I also learned how to make the page communicate back to a PHP backend via AJAX in a sensible way (buffering data to be sent back so as to prevent thrashing the server).
This is all in stark contrast to my previous experience with script.aculo.us, wherein I was able to make some really nifty shiny stuff work really well without having to learn too much, but it was still all traditional client-server and nothing properly AJAX and all the workings of the javascript were so specific to script.aculo.us that I didn’t really learn any js. jQuery seems much more straight-forward, even though it also seems to provide only a much lower level of functionality, though I did start to fiddle with animations with jQuery.
Hopefully, some jQuery and AJAX will find their way into some of my production stuff in the next few weeks.