Awesome Conferences

See us live(rss)   

Learning AJAX after ignoring it all these years.

Like many system administrators, I learned HTML a long time ago but didn't have the need to learn the newer technologies as they appeared: Javascript, AJAX, and so on. Sure, we know enough to talk about them intelligently but not enough to program them.

It has come time for me to learn those things.

I think a lot of sysadmins out there are in a similar situation therefore I'm going to document my journey in hopes that others can benefit.

First, let me be clear about what's driving my decisions:

  • I'm smart. I don't want to be talked down to.
  • I'm busy. Training materials will have to "get to the point" and should be a document I can read on my own time.
  • I'm lazy. I don't want to do a lot of work. I want a framework that does 90% of the work for me.
  • I'm in a hurry. I'm not going to spend a lot of time evaluating tools. If something is popular or popular with the coworkers nearest my desk, I'm going to use it. If it turns out to be a bad decision at least I have nearby people to cry with.
  • I'm really lazy. I don't want to have to reinvent the wheel.

There are plenty of Javascript books that assume the reader has never touched a programming language before. Ugh. That's exactly what I want to avoid. Instead I need a "JavaScript for people that already know C", and a "writing web apps for people that already know how Unix works" and a framework that does most of the work for me.

As I find resources that help me do this I'll be writing about them and tagging these posts "AJAX Education".

So far I've gotten up to speed pretty quickly with these resources:

  1. Javascript: A re-introduction to JavaScript from the Mozilla organization. This has taught me Javascript in practically one sitting. It assumes you already know "C". For example, it doesn't explain what "x += 1" does, it just says that the feature exists in the language.
  2. AJAX Basics: Basics of Ajax from "Software As She's Developed" is available as a Podcast, but I've been the notes they've linked to on AjaxPatterns.org. So far I've read these two patterns and I already feel like the veil has been lifted:
  3. Django: The web framework I've picked is Django. I'm working through the online Djanjo Tutorial which is excellent. Hats off to the project for having such excellent documentation. Why did I choose this framework? (1) It uses Python, my new favorite language, (2) the person that sits next to me at work uses it, answers my questions quickly, and hasn't gotten annoyed yet. (If he starts to ask me if I've considered learning Ruby-On-Rails you know he's gotten fed up with all my questions.)
  4. Google Closure: Nobody uses Javascript without a code library to do the hard parts for them. These libraries "do the right thing" so that you don't have to care about browser differences (OMG are there differences!) and implement high-level things like pull-down menus, image zooming, etc. The two most popular seem to be jQuery and Closure. I'm using Closure because (1) my employer maintains it, and (2) there is no reason #2. (If you worked for Ford would you buy a Honda?). I've basically gotten up to speed already by reading the Getting Started guide and looking around the API reference

Ok, that's enough reading material for this week. Hopefully the next article will be about my success getting a mock up of my future web app up and running.

Please post comments. Tell me what resources you've found useful!

Posted by Tom Limoncelli in AJAX Education

No TrackBacks

TrackBack URL: http://everythingsysadmin.com/cgi-bin/mt-tb.cgi/1127

4 Comments | Leave a comment

Welcome to the future :) I was following similar path, trying to write some simple HTML/JS + Python apps, not really knowing Javascript, until one day, when I decided that I'll read minimum amount of information about JS, to help me on my way.

As for JS, you want to read this: http://oreilly.com/catalog/9780596517748 . It's THE book about Javascript, incredibly concise and well written. Also, it has the advantage of talking about the language in general terms, avoiding context of the browser - which I found very helpful.

I've picked jQuery, mostly because at that time Closure wasn't released yet. I haven't looked that closely at Closure yet, but I got an impression Closure is covering more topics than jQuery (perhaps jQuery + jQueryUI would be similar in terms of features).

As for Django - I've tried it ~1.0 release - it was nice and worked as advertised, but I found it a bit too idiomatic for my taste. If you want something dead simple for writing small web apps, take a look at bottle.py. I'm going to take a look at web2py too, as it looks light and feature-complete at the same time.

Good luck!

You should learn Ruby anyway. Come to the Lone Star Ruby Conference in Austin near the end of August!

Is there any new updates on Ajax now?

I've been teaching Ajax since then in my class. & its really a great tool in making your page dynamic.

Leave a comment