Το κλασικό web application μοντέλο είναι κάπως έτσι: οι ενέργειες του χρήστη πάνω στο interface δημιουργούν ένα HTTP request πίσω στον web server. Ο server κάνει κάποια επεξεργασία και έπειτα επιστρέφει στον web browser του client μια HTML σελίδα.
Μια εφαρμογή βασισμένη στο Ajax εξαλείφει τα πολλά request (που είναι από τη φύση ο τρόπος αλληλεπίδρασης στο web) εισάγοντας μια ενδιάμεση μηχανή (Ajax engine) μεταξύ του user και του server.
Αντί λοιπόν για να φορτώνει η σελίδα από την αρχή ολόκληρη, ο browser φορτώνει την Ajax engine (γραμμένη σε JavaScript) η οποία είναι υπεύθυνη για το rendering (απόδοση) του interface (διεπιφάνεια) και της επικοινωνίας με τον server ανάλογα με τις ενέργειες του χρήστη. Η Ajax engine επιτρέπει η αλληλεπίδραση με τον χρήστη να γίνεται ασύγχρονα.
Το Asynchronous JavaScript and XML (AJAX) γίνεται όλο και πιο δημοφιλές Σίγουρα θα έχετε δει το Google Suggest όπως και το Google Maps. Διαβάζοντας στο Slashdot για το google talk περίμενα να ήταν κάτι σχετικό με το Ajax άλλα τελικά ήταν άλλο ένα jabber client με αρκετά ωραίο UI.
Δείτε δυο πολύ καλά εισαγωγικά άρθρα:
Κάθε μέρα βλέπω όλο και περισσότερες εφαρμογές πάνω στο Ajax όπως τα:
- jwchat –το οποίο ήταν κάπως όπως φανταζόμουν το Google talk
- QWAD Chat –το οποίο είναι ένα chat που δεν χρειάζεται κανένα browser plug-in και ούτε το jre (java)
- Cojax –παρουσιάζει τον κώδικα του communityserver
- Ajax-spell
- Progress Bar on Long running jobs in ASP.NET using AJAX
Η Microsoft είδε την δημοτικότητα του Ajax και αποφάσισε να φτιάξει το Atlas Framework (έτσι ώστε να μπορεί κάποιος να φτιάχνει εύκολα και γρήγορα εφαρμογές Ajax-style)
Υπάρχουν αρκετές βιβλιοθήκες (libraries) για τις διάφορες γλώσσες. Παρακάτω δείτε μερικές:
.Net
- Ajax.NET a free Microsoft .NET library
- Bitkraft Integrated Client/Server approach to Ajax Development in the ASP.NET environment.
- PowerWEB LiveControls for ASP.NET Ajax for Visual Studio ASP.NET
Java
- AjaxTags a free set of JSP tags that simplify the use of Ajax technology in JavaServer Pages.
- DWR a free (Apache_License) Java library
- Echo2 a free Java Ajax library with a thick client API
PHP
- xajax PHP Ajax toolkit