2011-09-13 4 views
8

Je cherche à développer une application web avec Node.js. Je viens d'un environnement PHP où je n'ai pas utilisé de moteur de template (en dehors de PHP lui-même) et j'ai toujours juste écrit du HTML. Alors, pourquoi devrais-je ou ne devrais-je pas utiliser Jade ou un autre moteur de template?Quels sont les avantages et les inconvénients de l'utilisation d'un moteur de template comme Jade?

+0

Vous avez utilisé un langage de modèle, PHP en est un. – Raynos

+8

A droite, c'est pourquoi j'ai dit "en plus de PHP lui-même". –

Répondre

9

Plus:

  • Encourage une bonne organisation de code (génération de données est séparé du code de présentation)
  • génération de sortie est plus expressif (syntaxe du modèle ne nécessite pas une mer de concaténation de chaîne)
  • mieux productivité (les problèmes courants tels que le codage de sortie, l'itération, les conditions, etc. ont été traités)
  • Généralement, moins de code dans l'ensemble (jade en particulier a une syntaxe très laconique)

Moins:

  • Certains frais généraux de performance
  • Encore une autre chose à apprendre
+0

Qu'est-ce que cette "surcharge de performance". Suggérez-vous que vous pouvez générer dynamiquement du HTML plus rapidement qu'un moteur de template? – Raynos

+2

Absolument. Il sera toujours plus rapide de faire quelque chose comme 'res.write ('

' + pageTitle + '

');', vs 'res.render ('title-template', {title: titreTitre});' (dans Express). Dans la plupart des cas, les coûts indirects sont négligeables. Si jade (ou autre moteur de template) est votre goulot d'étranglement, vous vous débrouillez bien partout ailleurs. – jmar777

+0

c'est seulement vrai pour les modèles brevetés. Tout modèle sérieux sera plus rapide avec un moteur de modélisation en raison de la mise en cache. – Raynos

1

A propos JADE ou toute autre langue de modèle qui diffèrent beaucoup de HTML:

d'abord il est plus long de déboguer le HTML produit. Vous voyez du HTML dans le navigateur et vous devez l'analyser de nouveau dans JADE (dans votre cerveau) pour le comparer avec le contenu de votre éditeur. Ceci est très gênant et rend le débogage plus difficile qu'il ne devrait l'être.

Bien sûr, cela ne pose pas de problème si vous êtes le seul programmeur à travailler sur le code. Il peut sembler si facile de faire correspondre les lignes html avec les lignes JADE si vous êtes celui qui les a écrites.

C'est un problème lorsqu'on travaille en équipe.

Questions connexes