2010-08-10 6 views
1

Je considère deux manières différentes d'effectuer la même tâche d'affichage de code HTML dynamique en utilisant AJAX. La première méthode consiste simplement à générer le côté serveur HTML, puis à l'insérer via. le DOM (jQuery's $(). load() en fait). La seconde méthode consiste à générer le côté serveur JSON, puis à utiliser ces données pour injecter des éléments dans le DOM.Comparaison des performances des requêtes AJAX: XML par rapport à JSON

Je voudrais connaître les avantages et les inconvénients de chaque méthode, notamment en termes de compromis de performance. Évidemment, le fait d'envoyer du HTML avec les données va ralentir les choses en termes de réponse HTTP, mais à quel point les données devront-elles être plus longues à charger? Cela étant dit, comment comparer les performances du nouveau HTML avec la construction d'un objet DOM et ensuite l'injecter dans le document actuel? J'ai l'intuition que la plupart des navigateurs seraient plus efficaces pour rendre des morceaux de HTML frais que de rendre des morceaux de différentes parties de la page à la fois (peut-être parce que les navigateurs l'ont fait plus longtemps? . Comment les différents navigateurs se comparent-ils? (Personnellement, j'utilise Chrome (pas pour tester), mais je m'attends à ce que la webapp soit utilisée sur Safari, IE7, IE8 et Firefox).

Si JSON est clairement la meilleure méthode, qu'est-ce qui est qualifié de trop extrême? Qu'en est-il du chargement de l'index pour obtenir un objet document et peut-être une structure de page simple, puis à partir de là, utiliser AJAX et JSON pour faire tout le reste?

+0

Vous avez oublié une troisième option: Transmettre des données via JSON, construire un morceau de HTML en utilisant JavaScript, puis insérer tout le morceau en une fois. – Zarel

Répondre

0

Vous pouvez vérifier cette vidéo pour voir quelle est la taille (énorme, en fait) du problème de rendu html dans un navigateur moderne. Vraiment, vous sauveriez des centaines d'heures d'attente pour des utilisateurs innocents. http://www.youtube.com/watch?v=nCgQDjiotG0

Eh bien, arrêter de plaisanter maintenant. L'idée de passer à Johnson en raison de la vitesse semble un peu extrême pour moi. Non pas parce que le HTML a des avantages technologiques, mais parce que la génération de HTML à partir de modèles est facile dans tous les frameworks web (MVC, au moins). C'est ce que font les frameworks web. Et mettre des données dans un gabarit en Javascript semble un peu compliqué pour moi. Complications inutiles.

Questions connexes