This post originated from an RSS feed registered with Agile Buzz
by Jared Richardson.
Original Post: AJAX: What is it and Where do I learn more?
Feed Title: Jared's Weblog
Feed URL: http://www.jaredrichardson.net/blog/index.rss
Feed Description: Jared's weblog.
The web site was created after the launch of the book "Ship It!" and discusses issues from Continuous Integration to web hosting providers.
In a meeting today AJAX was mentioned and several people asked what it was, so I thought I'd pass on a just a little bit about AJAX.
AJAX just means that the web page you are hitting is getting updated without reloading the entire page. Think about most web sites. If you click on a link, or a tab, or anything, the entire page reloads... or a new page loads. This happens even if 90% of the page didn't change. With AJAX, only the parts that change get updated.
The idea here is that you can click a link and only have some of the page's content refreshed... just like an installed application. :) Dave Thomas' Ajax with Ruby on Rails talk has a very simple 12 line example.
For years people have been doing the same thing with the clever use of frames, but lately the idea was finally named (Asynchronous JavaScript And XML). After the idea was named, toolkits started popping up to make it easier to write AJAX-ified applications.
Once Google Maps was released and people really saw the benefit to an AJAX framework, the idea really took off. Google Maps does background fetches of maps that are off your screen. Then when you scroll in any direction, the data is already there and waiting for you. This lets you scroll smoothly instead of waiting for more data to stream down in response to your scroll action.
These days, not using AJAX means your web apps are slower and less responsive. You suck up more server bandwidth and have higher server resource peaks. A good AJAX apps will not resend the same information over and over. Also, by fetching smaller bits of data asynchronously, it spreads out the server side load as well. Otherwise your application must ask for more data at one time, causing less than desirable spikes.
You can read more about Ajax on the Wikipedia AJAX page... however, if you need to move a bit faster, you might want to spend some time with guys who've spent more time with Ajax. There's a Pragmatic Studio: Ajax coming up in Chicago in April. Justin and Stuart are great instructors and have the real world experience to help move your project past the classic beginners problems and straight to solving the problems your customers care about.
Of course, since it's a Pragmatic Studio, you already knew it was good, right? :)