Un navigateur héberge une application, et pas du contenu
Avec une application AJAX, une partie de la logique serveur est transférée vers le client. Le document va rester dans le navigateur tout au long de la session. Comme ce document persiste différents états peuvent être stokées désormais dans le navigateur. Contrairement a une application web classique chaque fois que l'utilisateur interagit avec un site, un nouveau document est envoyée vers le navigateur. Le navigateur supprime l'ancien document (page) pour le remplacer par le nouveau.
//TODO exemple
Le serveur fournit de la donnée, et pas du contenu
Dans une application web classique le serveur fournit un mélange de données et de présentation (HTML). Par exemple dans un service d'hotel , tout ce que on a besoin c'est le prix de la chambre. Une application AJAX enverrait une requête asychrones au serveur , et en retour ne recevait que la donnée du prix. Toute la présentation resterait inchangée du côté du navigateur.
/TODO exemple
L'interaction utilisateur avec l'application doit être fluide
Dans une application classique, prenons l'exemple de la soumission d'un formulaire : quand l'utilisateur fait un submit de la page, la page courante reste encore invisible un moment. L'utilisateur est invité à attendre que la page entière soit rafraichie. Par exemple du shopping cart, notre application AJAX envoie des requêtes asychrones, l'utilisateur peut continuer de son côté à rajouter des éléments au panier. Si le code client est robuste, il va supporter ces charges trés facilement, et l'ulisateur pourra continuer à faire ce qu'il plait sans avoir besoin d'attendre quoi que ce soit.
//TODO exemple
Ca représente du vrai codage
Désormais, dans une application avec AJAX, le code délivré quand l'application se lance doit être exécuté jusqu'à sa fermeture, cela sans casser, sans ralentir, sans générer de fuites de mémoire.