Sto cercando di sviluppare un'app Web con Node.js. Vengo da uno sfondo PHP in cui non ho usato un motore di template (oltre a PHP stesso) e ho sempre scritto semplicemente HTML. Quindi, perché dovrei o non dovrei usare Jade o qualche altro motore di template?Quali sono i pro e i contro dell'uso di un motore di template come Jade?
risposta
Pro:
- incoraggia una buona organizzazione del codice (creazione dei dati è separata dal codice di presentazione)
- generazione uscita è più espressivo (sintassi del modello non richiede un mare di concatenazione di stringhe)
- Meglio produttività (sono stati gestiti problemi comuni come codifica dell'output, iterazione, condizionali, ecc.)
- Generalmente richiede meno codice in generale (la jade in particolare ha una sintassi molto concisa)
Contro:
- Alcuni sovraccarico delle prestazioni
- Ancora un'altra cosa da imparare
Cos'è questo "overhead delle prestazioni". Stai suggerendo di poter generare dinamicamente HTML più velocemente di un motore di template? – Raynos
Assolutamente. Sarà sempre più veloce fare qualcosa come 'res.write ('
' + pageTitle + '
');', contro 'res.render ('titolo-template', {title: pageTitle});' (in Esprimere). Nella maggior parte dei casi, tuttavia, l'overhead delle prestazioni è trascurabile. Se il jade (o altro motore dei modelli) è il collo di bottiglia, stai facendo davvero bene ovunque. – jmar777vale solo per i modelli patentic. Qualsiasi modello serio sarà più veloce con un motore di template a causa del caching. – Raynos
Chi JADE o qualsiasi altro linguaggio di template che differiscono molto da HTML:
Prima di tutto richiede più tempo per eseguire il debug dell'HTML prodotto. Vedete HTML nel browser e avete bisogno di analizzarlo su JADE (nel vostro cervello) per confrontarlo con il contenuto del vostro editor. Questo è molto scomodo e rende il debug più difficile di quanto dovrebbe essere.
Ovviamente potrebbe non essere un problema se sei l'unico programmatore che lavora sul codice. Potrebbe sembrare così facile abbinare le linee html con le linee JADE se sei tu a scriverle.
È un problema quando si lavora in team.
- 1. Quali sono i pro e i contro di entrambi Jade e EJS per il modello Node.js?
- 2. Quali sono i pro e i contro di un TreeSet
- 3. Quali sono i pro e i contro di Anchor Modeling?
- 4. Quali sono i pro e i contro dell'uso di Global.asax?
- 5. Quali sono i tipi di modelli utilizzati, pro e contro?
- 6. Quali sono i pro e i contro dell'uso di variabili di trasmissione in un singleton?
- 7. Quali sono i pro e i contro dell'uso di configChanges = "orientation" per i dispositivi Android?
- 8. Quali sono i pro e i contro dell'utilizzo di un'e-mail come nome utente?
- 9. Quali sono i pro e i contro dell'input delimitato generale di Ruby? (percentuale di sintassi)
- 10. WPF - MVVM - Quali sono i pro e i contro delle varie tecniche di creazione di viste?
- 11. Quali sono i pro e i contro di lasciare a Google l'hosting di jQuery per me?
- 12. Quali sono i pro e i contro di asset_packager e Jammit?
- 13. Quali sono le situazioni o i pro e i contro dell'uso di C++/CLI su C#
- 14. Quali sono i pro e i contro di rspec mocking rispetto ad altri framework beffardi?
- 15. Quali sono i pro e i contro di HTML5 Canvas vs. SVG + Raphael.js?
- 16. Quali sono i pro e i contro dell'uso di GenericForeignKey rispetto all'ereditarietà multipla rispetto a OneToOneField?
- 17. Quali sono i pro e i contro dell'utilizzo di uno o più DbContext con EF?
- 18. Quali sono i pro e i contro del linguaggio di programmazione Icon?
- 19. Quali sono i pro e i contro dell'uso di una flag enum?
- 20. Quali sono i pro e i contro di git-flow vs github-flow?
- 21. Quali sono i pro e i contro di DynamoDB rispetto ad altri database NoSQL?
- 22. Quali sono i pro e i contro di RemObjects PascalScript rispetto allo script DWS?
- 23. Quali sono i pro e i contro di LinkedHashMaps rispetto a LinkedHashSet?
- 24. Quali sono i pro e i contro delle procedure di chiamata in VB.NET?
- 25. Per ARC o non per ARC? Quali sono i pro e i contro?
- 26. Quali sono i pro e i contro dei database degli oggetti?
- 27. Quali sono i pro e i contro del parametro --svn-branches per svn2git
- 28. Quali sono i pro e i contro dell'utilizzo dell'elenco manuale iterazione vs ricorsione tramite fail
- 29. Quali sono i pro e i contro degli Enumerator vs. Conduit vs. Pipes?
- 30. Quali sono i pro e i contro dell'utilizzo dei componenti di progettazione di Visual Studio per i dati
Hai usato un linguaggio di template, PHP è uno. – Raynos
Giusto, ecco perché ho detto "oltre al PHP stesso". –