2 votes

"avec" et "sans" dans les moteurs de modèles

Je suis à la recherche d'un moteur de modèles en javascript qui offre de bonnes performances lorsqu'il est utilisé dans le cadre d'un projet de recherche. grandes applications js et convient également très bien pour applications mobiles . J'ai donc parcouru les différents tests jsPerf pour ceux-ci. Il semble y en avoir beaucoup qui donnent des résultats différents et il est difficile de savoir quel est le test standard.

Quelqu'un peut-il me guider vers un jsPerf standard auquel je peux me référer et qui devrait également inclure les modèles suivants : dust, underscore, hogan, mustache, handlebars.

  1. D'après ce que j'ai observé, dot.js est un outil performant et constant, avec une bonne vitesse de rendu. vitesse de rendu, mais est-il assez mature pour des applications plus importantes ?

  2. Qu'est-ce que "avec" et "sans" (spécifique à l'UE) ? underscore.js )qui est montré dans les tests jsPerf ? Quelqu'un peut-il m'expliquer ?

  3. Dans tous les tests, j'ai vu des modèles populaires comme la moustache, le guidon, la poussière, le hogan, etc. semblent être moins performants que les autres d'autres modèles, alors pourquoi les gens les utilisent-ils en laissant de côté les plus performants ? les plus performants, est-ce à cause de la maturité de ces moteurs de modèles ?

Merci d'avance

7voto

Sukima Points 2005

Est-ce que quelqu'un peut me guider vers un jsPerf standard auquel je peux me référer et qui devrait également inclure les modèles suivants : dust, underscore, hogan, moustache, guidon.

Je n'en connais aucun à ma connaissance. Est-ce nécessaire ? Pourquoi ?

Underscore

Qu'est-ce que "with" et "no with" (spécifique à underscore.js) qui est affiché dans les tests de jsPerf ? Quelqu'un peut-il m'expliquer ?

Avec, Pratique, Performance plus lente

_.template("<%= myvar %>", { myvar: "foo" });

Sans, Inconvénient, Performance plus rapide

_.template("<%= data.myvar %>", { myvar: "foo" }, { variable: "data" });

Le meilleur des deux mondes

_.extend( _.templateSettings, { variable: "data" } ); // Do this once.
_.template("<%= data.myvar %>", { myvar: "foo" });
_.template("<%= data %>", "foo");
_.template("<%= override.myvar %>", { myvar: "foo" }, { variable: "override" });

Notez également que la fonction template renvoie un template compilé si le second argument est nul, indéfini ou non donné. Donc dans le cas de la variable override :

var renderFn = _.template("<%= override.myvar %>", null, { variable: "override" });
renderFn({ myvar: "foo" });

Performance et lisibilité

Dans tous les tests, j'ai vu des modèles populaires comme moustache, le guidon, la poussière, le hogan, etc. semblent être moins performants que les autres. pourquoi les gens les utilisent-ils en laissant de côté les plus performants ? les plus performants, est-ce à cause de la maturité de ces moteurs de modèles ?

En JavaScript, tout ne tourne pas autour de la performance. Il doit y avoir un équilibre entre l'évolutivité, la maintenabilité, la lisibilité et la commodité. La règle de base est de coder pour la lisibilité et la commodité, puis d'optimiser les performances uniquement si nécessaire. Il existe un Fil conducteur qui propose une bonne discussion sur le sujet.

Pour répondre à cette question, les autres méthodes de gabarit sont souvent choisies avec une priorité moindre pour les performances.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X