Les modèles JSON aident-ils à charger du contenu via AJAX et à améliorer les performances ?[fermé]

StackOverflow https://stackoverflow.com//questions/20049436

Question

Nous travaillons sur un tableau de bord dynamique qui est très similaire au panneau de paramètres de Twitter sous notre compte Twitter. Comme le tableau de bord comporte de nombreux contrôles, il y a beaucoup de contenu rempli dynamiquement. C'est donc actuellement ainsi que nous procédons.

Voici l'un des menus de mon panneau de gauche :

<a href="javascript:void(0);" onclick="fnGetFiles();">Files</a>     

C'est la fonction appelée qui récupère le HTML :

function fnGetFiles(){
  $('#mainDashboard').html('<div class="rightContainer"><div class="tabLoader"></div></div><div class="clear"></div>');
  $.get(USER_DASHBOARD+'file_share/files.php',function(data){
  $('#mainDashboard').html(data);
});

Donc, en gros, nous attachons (ajoutons) directement le HTML. Mais je viens de parcourir le tableau de bord Twitter enter image description here
Le premier est la gestion des URL qu'ils effectuent pour naviguer entre les différents menus sur la gauche (image ajoutée pour référence). Elle change simplement à la volée et le contenu est chargé. inspecter le code que j'ai remarqué, ils envoient du HTML sous forme de chaînes JSON.
Je ne suis pas exactement sûr mais est-ce que c'est ça améliorer les performances de quelque manière que ce soit ? Le mien est un peu pauvre en production et j'aimerais savoir exactement quels frameworks je peux utiliser pour réaliser quelque chose de similaire à celui-ci (De plus, je suis confronté à des problèmes de conflit AJAX entre les scripts).J'utilise PHP,jquery pour ma candidature.
J'ai essayé d'obtenir des informations de dev.twitter.com,et bloguer mais je n'ai trouvé aucune information spécifique à ce sujet.
S'il vous plaît, essayez si possible de me guider et de m'éclairer.
Merci pour votre temps.

Était-ce utile?

La solution

Votre HTML, JavaScript, vos images et autres éléments côté client sont tous statique.Ils devraient rester ainsi.Vous n'avez pas besoin de créer des éléments de manière dynamique dans JavaScript.

Vos appels AJAX doivent simplement retentir, obtenez les données nécessaires pour remplir votre HTML, et ajoutez ces données au DOM.JSON/XML est comme un protocole :

Les protocoles de communication doivent être convenus par les parties impliquées.

Pour votre JS > PHP > JS, JSON est un excellent « protocole » (méthode de communication convenue) à choisir car il établit une norme et vous utilisez simplement json_encode() / json_decode() dans votre PHP, et $.parseJSON() si vous utilisez jQuery.L'utilisation de JSON n'est qu'un format de messagerie convenu que, en tant que développeur, vous devez vous engager à utiliser car il s'agit d'un « standard ».

Vous ne voulez pas envoyer par câble des données supplémentaires dont vous n'avez pas besoin.N'envoyez pas de HTML sauf si vous en avez besoin.Demandez et répondez avec uniquement les données dont vous avez besoin.

Sans entrer dans trop de discours ici, il existe de nombreux outils géniaux pour vous aider à faire des choses comme celle-ci.AngularJS, par exemple, vous permet de mettre à jour automatiquement le DOM avec le JSON renvoyé par le serveur, grâce à l'utilisation d'instructions telles que ng-repeat.Cela signifie essentiellement que vous n'avez pas besoin d'écrire du JavaScript personnalisé pour remplir les éléments DOM avec les données récupérées du serveur (que votre tableau de bord et votre mon le tableau de bord est en cours).

De plus, j'utilise des websockets, car lancer une charge de requêtes AJAX pour des données en temps réel n'est pas la raison pour laquelle ces requêtes AJAX sont faites.Si vous n'avez besoin de données que toutes les 5 à 10 secondes, très bien, mais pas plus souvent que cela et que vous souhaitez une technologie bidirectionnelle comme les websockets, ce qui vous demandera d'apprendre React PHP et quelque chose comme Ratchet à implémenter (quand vous le faites fonctionner). , mais c'est génial).

Tout d’abord, convenez d’un « protocole » que vos côtés client et côté serveur vont utiliser.Ensuite, envoyez et recevez uniquement les données que vous besoin, et ce qui changements.Tout le reste est statique et ne ferait que gaspiller de la bande passante.Ne diffusez pas de code HTML.Enfin, en termes de vitesse, l'envoi de JSON vs.envoyer du texte brut - cela dépend littéralement de la longueur des caractères que vous envoyez.C'est ça.Quoi qu'il en soit, ces gains sont si insignifiants que vous n'avez pas à vous en soucier, à moins que vous n'envoyiez du HTML, ce qui n'est pas le cas.Es-tu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top