Ajax

Compte tenu de l'intérêt récent pour l'Ajax, tu voudrais être pardonné de penser qu'il s'agissait d'une nouvelle technologie. En fait, l'objet XMLHttpRequest a été autour depuis des années. En termes techniques, l'interaction JavaScript asynchrone avec le serveur n'est pas nouveau. Tous les autres éléments du modèle AJAX ont également été autour depuis un certain temps: CSS, (X) HTML et DOM Scripting. Pourtant en 2005, l'intérêt pour cette méthodologie monté en flèche. Se pourrait-il vraiment que tout simplement lui donner le nom d'une approche Snappy comme Ajax a été responsable de l'intérêt soudain? En vérité, l'intérêt pour la nouvelle approche de construction des sites Web était à la hausse avant même que Jesse James Garrett a inventé le terme "Ajax". Cette augmentation dans l'intérêt a été alimenté par l'apparition de nouvelles applications web de Google.

Lorsque Google a lancé Gmail, une web-based email service, l'objectif initial était sur sa capacité de stockage de grande taille (http://mail.google.com/). Une fois que les gens ont commencé à interagir avec le service, d'autres caractéristiques vint au premier plan. Gmail utilise la vérification orthographique, l'auto-complétion des adresses, et d'autres processus qui sont effectués de manière transparente en arrière-plan. L'extrémité avant de l'application Web est asynchrone des données à transférer, et la réception de données à partir du serveur.

Intérêt pour l'objet XMLHttpRequest a été piqué en outre lors de l'essai bêta ont commencé sur Google Suggest, http://www.google.com/webhp?complete=1. Lorsque l'utilisateur commence à taper une phrase dans le champ de recherche, des suggestions de phrases complété apparaissent dans la liste ci-dessous. Chaque fois que l'utilisateur tape une lettre, un appel est effectué vers le serveur pour une nouvelle liste de suggestions. Ce type de fonction est effective parce que l'interaction client / serveur qui se passe de façon asynchrone. Si la page ont été rechargés à chaque fois que l'utilisateur a tapé une lettre, Google Suggest serait beaucoup moins utilisable.

Google a fourni les exemples de travail, et Jesse James Garrett a fourni un terme de marketing percutants. Ajax est apprêté et prêt pour le décollage.

  

 

Ajax défis

Ajax est là pour rester, j'en suis certain. Dans l'ensemble, je pense que la méthode Ajax qui apportera beaucoup d'avantages. Elle peut améliorer l'utilisabilité des sites web en fournissant des réponses très rapides aux actions des utilisateurs sans rafraîchir toute la page. Dans le même temps, cette nouvelle approche présente aussi un certain nombre de défis.

L'une des caractéristiques des applications Ajax est un nombre réduit de chargement d'une page individuelle. L'inconvénient de cet état des technologies économes en est qu'il interfère avec la navigation sur des conventions telles que l'aide du bouton "retour" ou d'être en mesure de signet des pages individuelles. La capacité de mettre à jour seulement une partie d'une page modifie également les attentes des utilisateurs. Idéalement, toutes les mesures prises par l'utilisateur devrait avoir un résultat clair et évident. Concepteurs de sites Web doivent relever le défi de fournir une rétroaction valable lorsque l'utilisateur lance une requête au serveur et quand le serveur fournit une réponse.

Il n'ya aucun doute que l'Ajax est un outil puissant, mais, comme avec n'importe quel outil puissant, il pourrait être mal utilisé. Il ya un danger que, dès maintenant, au moment même où le JavaScript est devenue une technologie bien acceptés, Ajax pourrait nous de droit de retour à la case départ si elle recueille la réputation d'être difficiles et inaccessibles. C'est quelque chose que nous, les concepteurs web doivent éviter. La clé de la construction d'une application réussie Ajax est de le traiter comme l'ajout d'un accessoire d'autres JavaScript. Appliquer l'amélioration progressive afin de fournir une dégradation lente.

 

Amélioration progressive avec l'Ajax

Car les applications Ajax peuvent rapidement fournir des réponses transparent aux actions des utilisateurs, ils sont souvent davantage assimilée à des applications de bureau que les sites web traditionnels. Il ya une certaine quantité de vérité dans cette comparaison, mais il peut être poussé trop loin. Il ya un danger que l'utilisation d'Ajax peut être considérée comme une carte blanche pour ignorer la facilité d'utilisation et des considérations liées à l'accessibilité des sites Web traditionnels.

Déjà, les sites sont émergents que l'utilisation d'Ajax et JavaScript préciser en tant que condition pour accéder au contenu. L'argument avancé pour justifier cette approche est que les éléments qui sont fournis sont si riches en caractéristiques qui pourraient éventuellement se dégrade pas avec élégance. Je n'achète pas. En fait, je crois que les applications Ajax, de par leur nature même, ne peuvent toujours offrir une alternative non-Ajax. Tout dépend de la façon dont les fonctionnalités Ajax est appliqué. Si Ajax est inclus comme partie de la fonctionnalité à partir du début, alors il sera très difficile de le dissocier à un stade ultérieur de fournir une version non-Ajax. Si, d'autre part, la demande est d'abord construit en utilisant l'ancienne actualise la page, Ajax peut être appliquée sur le dessus du cadre existant pour intercepter les requêtes vers le serveur et les router par XMLHttpRequest. La fonctionnalité Ajax se trouve alors comme une couche sur le site régulièrement. Est-ce son familier? Ce n'est pas différent de la technique de l'amélioration progressive que vous avez vu employer dans ce livre.

La fonctionnalité du bâtiment Ajax dans le noyau d'une application à partir du début revient à utiliser le javascript: pseudo-protocole à chaque fois que vous voulez un lien pour déclencher une action. Il est nettement préférable d'utiliser simplement un lien normal et d'intercepter l'action par défaut. La meilleure façon de bâtir un site Web Ajax est tout simplement de construire un site web normal. Puis Hijax elle.

 

Hijax

Si le succès d'Ajax a montré une chose, c'est que d'avoir un nom, à court Snappy pour quelque chose aide à vendre une idée. Tout comme il est plus facile à dire Ajax au lieu de "XMLHttpRequest avec DOM Scripting, CSS et (X) HTML," il est plus simple pour moi de dire Hijax au lieu de "l'amélioration progressive en utilisant Ajax."

Ajax repose sur le serveur pour sa puissance. Un serveur de langage de programmation côté effectue l'essentiel du travail réel. L'objet XMLHttpRequest agit comme une passerelle entre le navigateur et le serveur, en transférant les requêtes et les réponses. Si cette passerelle est enlevée, elle doit toujours être possible d'envoyer des demandes et de recevoir des réponses. Cela prendra juste plus long.

Revenons à l'exemple d'un formulaire de connexion. La plus simple façon de construire est d'utiliser le délai approche honorés d'avoir un formulaire d'envoi toute la page au serveur, qui transmet alors une nouvelle page contenant les informations. Tout le traitement se fait sur le serveur, où les valeurs qui ont été saisies dans le formulaire sont comparées aux valeurs stockées dans une base de données dans une tentative de trouver un match.

Afin d'appliquer la méthodologie de l'Ajax au processus de login, la soumission du formulaire doit être interceptées (détourné) et transmis à l'objet XMLHttpRequest à la place. La soumission d'un formulaire déclenche un événement submit. Si cet événement est capturée en utilisant le gestionnaire d'événement onsubmit, l'action par défaut de la présentation de la page entière peut être annulée et remplacée par une nouvelle action: l'envoi des données vers le serveur via XMLHttpRequest. Une fois le formulaire de connexion a été Hijaxed, le processus de connexion devient plus commode pour l'utilisateur. Les délais de réponse sont diminuées et actualisation de la page est longue sont éliminés. Fondamentalement, cependant, si JavaScript n'est pas disponible pour l'utilisateur, la demande sera toujours fonctionner. Il faudra plus de temps et l'expérience ne sera pas aussi fluide, mais parce que le traitement de connexion est fait sur le serveur, il n'y a aucune raison de mettre l'utilisateur en déplacement.

Le fait que les applications Ajax de s'appuyer autant sur côté serveur, plutôt que le traitement côté client signifie qu'ils peuvent gracieusement dégrader. Certes, certaines applications semblent douloureusement lent quand ils s'appuient sur actualise la page, plutôt que Ajax, chaque fois que l'utilisateur lance une action. Mais une expérience dégradés plus lente est toujours mieux que pas d'expérience du tout.

 

L'avenir d'Ajax

Je suis certain que nous assisterons à une augmentation de l'utilisation d'Ajax. Personnellement, j'aimerais voir Ajax utilisé de la même manière que tout autre type de DOM Scripting doit être utilisé: à titre de bonification, plutôt que d'une exigence de l'expérience utilisateur. Je tiens à voir l'idée de Hijaxing appliqué aux éléments de la page comme des formes de rétroaction et les caddies. Pour moi, la technique Hijax semble que le moyen le plus simple à appliquer Ajax. Malheureusement, la majorité des applications high-profile Ajax n'a pas été construit de cette façon. Gmail et Google Maps sont tous deux construits avec l'Ajax étroitement intégré dès le départ. Cela rend beaucoup plus difficile de fournir une version non-Ajax.

Si Google Maps avait été construit comme n'importe quel autre site de cartographie, les améliorations Ajax aurait pu être appliquée sur le dessus. Comme il est, il s'agira de beaucoup de travail à fournir un «séparés mais égaux" non-Ajax version.

Google Suggest, d'autre part, est un bon exemple de l'amélioration progressive dans l'action. La fonctionnalité de base est la capacité de recherche sur le Web pendant un semestre. Avec Javascript activé, ce processus est renforcé en suggérant des termes de recherche possible en utilisant Ajax. Si JavaScript est désactivé, la fonctionnalité de base demeure.

Il ne fait aucun doute que l'Ajax est une merveilleuse technologie, mais j'espère qu'il ne sera pas abusé de telle manière de fermer les navigateurs qui ne répondent pas aux exigences minimales d'admission. Au lieu de cela, j'espère qu'il sera utilisé comme CSS , comme un moyen d'améliorer l'expérience utilisateur sans sacrifier l'accès au contenu.

 

Applications sur le Web

Gmail est un exemple d'une application Web. Plus de tâches et plus qui ont été traditionnellement réalisées par les logiciels de bureau migrent vers le Web: lire et écrire des e-mails, la gestion de projets, et le stockage de photos, pour n'en nommer que quelques-uns. Web design commence à ressembler à du développement logiciel.

Comme les applications de plus en plus aller sur le Web, le rôle du système d'exploitation mai de plus en plus hors de propos. Il se pourrait que dans un avenir proche, tout ce que vous aurez besoin pour accomplir vos tâches quotidiennes, c'est une connexion Internet et un navigateur web en normes conformes.

Votre ordinateur à la maison pourrait être un simple terminal connecté à un réseau de serveurs à puce. La construction d'applications sur le Web semble se heurter à des difficultés. Les développeurs de logiciels de déplorer le manque de contrôle sur les formulaires et autres éléments d'interface. Il est vrai que, comparé à la richesse des interfaces utilisateur de bureau, le navigateur peut sembler primitif. Mais surtout, le navigateur est juste assez bon pour justifier l'utiliser comme une interface. Il ya des avantages à avoir une application centralisée sur un serveur web, plutôt que de nombreuses copies d'une demande d'audience du bureau. Changements et des améliorations peuvent être réalisées instantanément avec effet immédiat. Si vous utilisez un navigateur, plutôt que d'une riche interface utilisateur graphique, c'est le prix à payer, il semble vaut la peine. Alternativement, le navigateur mai devenir un des outils parmi d'autres pour interagir avec des applications web. Apple's Tiger système d'exploitation comprend une application baptisée Dashboard. Dashboard contient une collection de widgets, dont un grand nombre d'interagir avec les applications Web.

Ces widgets utiliser toutes les technologies web familières: CSS, XHTML, and DOM Scripting, avec un peu d'améliorations de Desktop, jetés po Dashboard propose effectivement une alternative à l'utilisation d'un navigateur. Autres alternatives mai être à venir. XUL de Mozilla et les technologies de Microsoft XAML de promesses mais aussi les moyens de construire des interfaces utilisateur riches qui peuvent interagir avec les applications Web. Personne ne semble très bien si cela signifie que nous verrons beaucoup d'applications de bureau sur le Web ou de lots d'applications web sur le bureau.

Personnellement, j'adore l'idée du Web comme une plateforme d'application. Cependant, il ya un danger dans la comparaison des applications web pour les applications bureautiques. Considérant que le Web est ouvert à tout et à tous les agents utilisateurs, les applications de bureau sont liés à un système d'exploitation spécifique. Lorsque vous créez des applications web avec les technologies comme DOM Scripting and Ajax, il est très tentant de demander un lock-in similaire.

La solution la plus simple semble souvent être d'exiger une exigence minimale de technologie, comme un navigateur compatible DOM, ou pire encore, de limiter les demandes pour des navigateurs spécifiques. Bien que cette mai sembler comme la meilleure façon de construire des applications web, je crois que cette approche doit être combattue à tout prix.

un article présenté par Magda Dourado Pucci


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article "Ajax" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 383 users browsing the articles directory