Est-ce que trop Ajax est une mauvaise chose?

Je développe actuellement un site avec un javascript côté client ( dojo / dijit ). Comme pour tous les javascript / framworks, vous commencez à utiliser Ajax pour effectuer des appels rapides et des mises à jour. Ma question est-elle une règle générale pour utiliser Ajax et quand utiliser un lien? Je demande seulement parce que je semble utiliser Ajax plus que ce n'est pas et je crains que les erreurs dans la page initiale ne se propagent à d'autres éléments. Ou le contenu étant constamment remplacé, quelque chose pourrait se passer mal.

Je suppose que ce que je demande, est-ce qu'il y a des défaillances à l'utilisation lourde d'Ajax dans des pages Web?

MODIFIER

SEO – pas un problème. Je pense juste aux problèmes du serveur client pour l'instant. Les liens parieraient Ajax abaissait les portes si vous vouliez un bon référencement

Dans mon esprit, il y a trois problèmes avec l'utilisation de tonnes d'appels AJAX.

Le premier est du point de vue de l'utilisateur. Si je fais beaucoup de navigation, en tant qu'utilisateur, je souhaite utiliser mes boutons arrière / avant dans mon navigateur et les faire fonctionner correctement. S'ils le font, il n'y a pas de problème. S'ils ne le font pas, vous avez brisé la navigation fondamentale dans mon navigateur.

Deuxièmement, le bookmarking / indexing. En tant qu'utilisateur, je souhaite peut-être signaler quelque chose afin que je puisse y revenir ou le partager. En tant qu'indexeur pour un moteur de recherche, vous, en tant que développeur, souhaitez laisser le moteur de recherche «voir» toutes les pages d'informations que vous avez pour que les personnes puissent trouver votre site. Ces deux nécessitent une sorte d'URL unique.

Le troisième est le débogage du point de vue du développement. Les choses les plus aléatoires que vous lancez sur une page et / ou le remplacement dynamique, plus il est difficile de retrouver ce qui ne va pas. Plus vous avez le plus qui doit être bien intégré ou bien interagir.

Non,

Je pense que ne pas utiliser les deux pages ou ajax peut avoir leurs avantages, mais une fois que le fichier javascript est chargé et mis en cache et aussi la feuille ajax, tout ce qui reste des frais généraux est que les appels de base de données, l'utilisation de liens entraînerait la chargement de plus de pages que je Think est un coût plus lourd que de faire un appel de base de données.

Personnellement, je suis bien avec beaucoup d'Ajax que je rencontre aussi longtemps que fonctionne correctement (et rapide) et ne me brise pas. Plus précisément, je souhaite pouvoir envoyer un lien par courrier électronique à une page spécifique, le mettre en favoris – les choses habituelles.

Un problème qui me vient à l'esprit lorsque j'utilise trop AJAX est un référencement.

Si vous créez une application Web, utiliser AJAX est une bonne chose. Mais si vous souhaitez que le moteur de recherche trouve tous les mots sur votre page, l'utilisation d'AJAX rendra difficile.

Selon moi, beaucoup d'ajax est mauvais pour la santé SEO de votre site … 🙁 La meilleure utilisation d'ajax est quand il est utilisé juste pour afficher des erreurs, des messages et de petites tâches. Je pense que soumettre un formulaire à l'aide d'Ajax n'est pas un bon Également.

Je mentionne certains des inconvénients majeurs ci-dessous, si j'ai manqué certains, veuillez commenter.

Firstly , en raison de leur nature dynamique, les interfaces Ajax sont souvent plus difficiles à développer par rapport aux pages statiques.

Secondly , les pages créées dynamiquement à l'aide de requêtes successives d'Ajax ne s'inscrivent pas automatiquement avec le moteur d'historique du navigateur, afin de cliquer sur le bouton «Retour» du navigateur pour ne pas retourner l'utilisateur à un état antérieur de la page activée par Ajax, mais peut les renvoyer La dernière page complète visitée avant. Les solutions de contournement incluent l'utilisation d'IFrames invisibles pour déclencher des modifications dans l'historique du navigateur et modifier la partie d'ancrage de l'URL (suite à un #) lorsque Ajax est exécuté et le surveiller pour les modifications.

Thirdly , les mises à jour de la page Web dynamiques rendent également difficile pour un utilisateur de marquer un état particulier de l'application. Des solutions à ce problème existent, dont beaucoup utilisent l'identificateur de fragment d'URL (la partie d'une URL après le '#') pour suivre et permettre aux utilisateurs de revenir à l'application dans un état donné.

Fourthly , parce que la plupart des robots d'exploration Web n'exécutent pas de code JavaScript, les applications Web indexables au public devraient fournir un autre moyen d'accéder au contenu qui serait normalement récupéré avec Ajax, afin de permettre aux moteurs de recherche de l'indexer.

Fifthly , tout utilisateur dont le navigateur ne supporte pas JavaScript ou XMLHttpRequest, ou simplement cette fonctionnalité est désactivée, ne pourra pas utiliser correctement les pages qui dépendent d'Ajax. De même, les périphériques tels que les téléphones mobiles, les PDA et les lecteurs d'écran peuvent ne pas prendre en charge les technologies requises. Les lecteurs d'écran capables d'utiliser Ajax peuvent toujours ne pas pouvoir lire correctement le contenu généré de manière dynamique. La seule façon de laisser l'utilisateur effectuer des fonctionnalités est de revenir aux méthodes non-JavaScript. Cela peut être réalisé en s'assurant que les liens et les formulaires peuvent être résolus correctement et ne dépendent pas uniquement d'Ajax. En JavaScript, la soumission des formulaires pourrait alors être interrompue avec "return false".

Sixthly , la même politique d'origine empêche certaines techniques Ajax d'être utilisées entre les domaines, bien que le W3C ait un brouillon de l'objet XMLHttpRequest qui permettrait cette fonctionnalité.

Seventhly , comme d'autres technologies Web, Ajax possède son propre ensemble de vulnérabilités auxquelles les développeurs doivent répondre. Les développeurs familiers avec d'autres technologies Web devront peut-être apprendre de nouvelles méthodes de test et de codage pour écrire des applications Ajax sécurisées.

et

Lastly , les interfaces alimentées par Ajax peuvent considérablement augmenter le nombre de demandes générées par les utilisateurs sur les serveurs Web et leurs back-ends (bases de données ou autres). Cela peut entraîner des temps de réponse plus longs et / ou des besoins matériels supplémentaires.

Finally , je ne dirai pas que l'ajax est mauvais, mais comme Daniel a commenté, "Too much" is always a bad thing est vrai. Facebook est l'un des sites Web qui utilise l'énorme ajax mais de manière appropriée. De nombreuses solutions aux problèmes ci-dessus ont été mises en œuvre. Par exemple, l'utilisation d'iframes invisibles permet de récupérer des données historiques. Les identifiants de fragments d'URL permettent aux utilisateurs de mettre en favoris et de revenir à un état particulier d'une application. Il prend également en charge les fonctions de back-button.

Voir: AJAX et ses inconvénients

J'espère que cela t'aides.

Est-ce que votre page utiliserait plus Ajax que Google Docs ou Gmail ou Facebook? Que ce serait trop.