Wednesday, November 29, 2006

AJAX From Scratch

There are quite a few AJAX demos and examples on the web right now. While these are invaluable to learning AJAX, some people need a bit more information than just a raw piece of code. In todays environment there are many ways to learn AJAX including, books, classes, conferences, workshops and tutorials. Of these the only one that is free and accessible to everyone are web-based tutorials. The following is a list of what I consider the be the best and most helpful AJAX tutorials that I've found over the past year. Please let me know through email or a comment if you know of any other great AJAX tutorials and I'll be glad to post them. Also special thanks to all of the folks who produced all of these great free learning experiences.

AJAX Client-Server Communication Tutorials
Alternate Ajax Techniques, Part 1
By now, nearly everyone who works in web development has heard of the term Ajax, which is simply a term to describe client-server communication achieved without reloading the current page. Most articles on Ajax have focused on using XMLHttp as the means to achieving such communication, but Ajax techniques aren't limited to just XMLHttp. There are several other methods.

Dynamic HTML and XML: The XMLHttpRequest Object
Thanks to the little-known XMLHttpRequest object, an increasing range of web clients can retrieve and submit XML data directly, all in the background.

Guide to Using XMLHttpRequest
Using XMLHttpRequest with php and mysql

Make asynchronous requests with JavaScript and Ajax
Make asynchronous requests with JavaScript and Ajax. In this article, you'll begin with the most fundamental and basic of all Ajax-related objects and programming approaches: The XMLHttpRequest object.

Instant Tutorial
Simply put, AJAX allows you to make a call to an http server (typically an RSS feed or a webpage), get it’s content and load them into your existing page without having to refresh the whole page. This means that services like email don’t have to reload the whole page everytime you click a message, saving on bandwidth (loading the header/footer all over again) and making things more efficient.

Advanced Requests and Responses in AJAXR
In this article, Brett McLaughlin will show you the different status codes and demonstrate how browsers handle each and he will showcase the lesser-used HTTP requests that you can make with Ajax.

AJAX Drag and Drop Tutorials
Fun with Drag and Drop with RICO
For those of you who haven't seen Rico its another AJAX library, with quite a few cool extras. What I'm going to cover here is my first expiriment with Rico and their 'drag and drop' functionality. Getting basic drag and drop functionality is extremely easy with this library, and with just a bit of modification you can easily make it fit whatever you could want.

Drag & Drop Sortable Lists with JavaScript and CSS
In Web applications I've seen numerous, and personally implemented a few, ways to rearrange items in a list. All of those were indirect interactions typically involving something like up/down arrows next to each item. The most heinous require server roundtrips for each modification...boo.

Building a Drag-and-Drop Shopping Cart with AJAX
For this article, we'll create an interactive shopping experience allowing us to add items to our shopping basket by dragging and dropping them onto an icon of a shopping cart. We'll add AJAX functionality, allowing us to update our shopping cart without redrawing the entire screen.

AJAX Form Tutorials
Accessible Forms and Unobtrusive Javascript
I usually try to separate backend logic from the user interface logic when creating new PHP applications. I am pro fat gui and usually have a lot of client side scripting going on. I mostly use AJAX or other remote scripting techniques to call actions defined in the PHP backend.

Submit a form with Ajax
The new release of CakePHP (RC2) comes with a completely rewritten AjaxHelper::form() function (with the disadvantage that it breaks existing code).

Niceforms
Web forms. Everybody knows web forms. Each day we have to fill in some information in a web form, be it a simple login to your webmail application, an online purchase or signing up for a website. They are the basic (and pretty much the only) way of gathering information on the web.

AJAX File Uploader Tutorial
Better File Uploads with AJAX and JavaServer Faces
In this article, we will take fresh approach and implement an AJAX-powered component that will not only upload the file to server, but also monitor the actual progress of a file upload request in "real time."

AJAX Framework and Toolkit Tutorials
AJAX Tutorial with Prototype
I wanted to give an example of a good use of AJAX, and at the same time keep it simple. So I thought a good example would be to build a zip code verifier. As soon as the person enters the zip code it makes a request to the server to see if the zip code is in the database, and returns the city and state.

Learn xajax in 10 Minutes
xajax is designed to be extremely easy to implement in both existing web applications as well as new projects. You can add the power of xajax to nearly any PHP script in seven easy steps.

Using Ajax with PHP and Sajax
This tutorial explains how to use Ajax with PHP and introduces the Simple Ajax Toolkit (Sajax), a tool written in PHP that lets you integrate server-side PHP with JavaScript that makes this work.

Developer Notes for prototype.js
If you tried to use this library recently, you probably noticed that documentation is not one of its strongest points. As many other developers before me, I got my head around prototype.js by reading the source code and experimenting with it. I thought it would be nice to take notes while I learned and share with everybody else.

AJAX Getting Started Tutorial
AJAX:Getting Started
This article guides you through the AJAX basics and gives you two simple hands-on examples to get you started.

AJAX Image Gallery Tutorial
Ajax: What is it Good For?
AJAX image gallery tutorial with some history and commentary

AJAX Keyword Suggest Tutorials
How to create the Google Suggest feature with ASP.NET 2.0
Google Suggest seems to be the topic du jour in the blogosphere. It is a cool feature, but what I really enjoy is that it is yet another real world example of a "chubby" client.

Creating an Autosuggest Textbox with JavaScript, Part 1
Over the past year, Google has branched out from its search engine into other types of Web applications. One that caused a great deal of excitement among Web developers is Google Suggest. The basic idea is very simple: as you type, Google suggests search terms that come up with results. The first suggestion is filled into the textbox as you type while a list of several suggestions appears in a dropdown list beneath the textbox.

AJAX Live Search Tutorials
HOWTO: Animated Live Search / Ordered List 've been meaning for some time to give a little tutorial on the live search I created for this latest design. There are a few steps involved, and I'll do my best to explain each as we go. Live search explained Live search will gradually replace traditional search in web applications. As mainstream programs such as Windows Vista matures up to release, and live search is deeply integrated, we can expect more web pages implementing live search. AJAX Rounded Corner Tutorials Rico rounded corners without all of Rico I extracted and made very minimal changes to Rico's rounded corner implementation so I could use it without needing all of Rico. Currently I'm using Script.aculo.us in all of my projects and didn't need all of Rico, but Script.aculo.us doesn't have a Rounded Corners implementation. All credit to the talented guys over at OpenRico for this! AJAX Sorting Tutorial Make all your tables sortable Tutorial on how to make all your tables sortable AJAX Tabbed Pages Tutorials Building Tabbed Content This workshop we will be building a tabbed content browser that's Ajax powered. When ever a user clicks a tab the Ajax will communicate with the server and send back the appropriate data for that tab. We will start this workshop off with the XHTML and CSS for the tabbed content browser.

Make an AJAX Website in Less than 10 Minutes I've been toying around with AJAX apps and XMLHttpRequest but have wanted to put up a site that loads all of its content asynchronously. If you're like me and you learn best from working with examples you're only 10 minutes away from your first AJAX website. Very Dynamic Web Interfaces One of the classic drawbacks to building a web application interface is that once a page has been downloaded to the client, the connection to the server is severed. Any attempt at a dynamic interface involves a full roundtrip of the whole page back to the server for a rebuild--a process which tends to make your web app feel inelegant and unresponsive. In this article, I'll be exploring how this problem can be tackled with the use of JavaScript and the XMLHttpRequest object. AJAX Design Patterns Excellent tutorial on how to build an AJAX powered website, with dynamic page loads. Beautiful JavaScript-Powered Pages I've been delving deeply into the world of Javascript-powered interfaces. Now that I've had some time to play and learn about the scripts and techniques that are out there, I've come to what I believe to be the ultimate combination.