Skip to content

Templating engine

Ine edited this page Mar 17, 2022 · 4 revisions

Templating engine

Om een goede templating engine te kiezen ga ik onderzoek doen naar drie verschillende templating engines. De drie die ik ga onderzoeken zijn Pug, Handelbars en EJS.

Pug

Voordelen:

  • Pug heeft fijne functies, waardoor herbruikbare code kunt schrijven.
  • Het is makkelijk te leren.
  • Je kunt Pug templating makkelijk hergebruiken in Scala, PHP, Ruby, Python en Java.

Nadelen:

  • Wanneer je HTML code van het internet naar je code wilt kopiëren moet je het eerst omzetten naar Pug.
  • Je moet redelijk precies zijn in het schrijven van de goede syntax.

Handelbars

Voordelen:

  • Is voor veel verschillende modules en libraries te gebruiken, wat betekend dat je het voor frontend en backend templating kan gebruiken in de taal naar keuze.
  • Handlebars is makkelijk te begrijpen.
  • Het is makkelijk te zien wanneer iets van Handlebars is en wanneer het een andere taal is door de {{ }}. Wat hier {{ }} tussen staat is namelijk altijd Handlebars.
  • Het is makkelijk om dingen van het internet naar je code te kopiëren en plakken.
  • Met een paar regels code kun je een nieuwe extension implementeren.
  • Er kan geen JS in de sjablonen worden uitgevoerd waardoor je HTML netjes blijft.

Nadelen:

  • Met Handlebars kun je niet in de template reken. Terwijl dit wel met bijvoorbeeld EJS kan.
  • De documentatie is niet altijd goed te begrijpen.

EJS

Voordelen:

  • Wanneer je al veel met JavaScript kan je meteen beginnen met het gebruiken van EJS.
  • EJS is sneller dan Handlebars.
  • Het beschikt over snelle compilatie en weergave.
  • De tags die worden gebruikt zijn <% %>, maar deze kun je aanpassen naar bijvoorbeeld ?>.

Nadelen:

  • Het kan voor sommige mensen moeilijk te lezen zijn.
  • De documentatie is eerst erg duidelijk maar later zie je vooral stukken code zonder echte uitleg wat er precies gebeurd.

Volgens de website npm trends worden EJS en Handlebars een heel stuk meer gedownload dan Pug. Zoals je hieronder kan zien. Het verschil tussen downloads EJS, Handlebars en Pug

Conclusie

Voor mij viel Pug eigenlijk al meteen af omdat je hiervoor een hele nieuwe taal moet leren en het niet tussen je HTML kan neerzetten. Bij EJS vind ik het heel vervelend dat ze daar gebruik maken van het % en = teken voor het invoegen van data. Verder vond ik de documentatie niet heel duidelijk in vergelijking met die van Handlebars, dit was voor mij uiteindelijk de doorslag om voor Handlebars te gaan. Ik heb ook voor Handlebars gekozen, omdat het invoegen van de data veel makkelijker gaat dan bij EJS met {{ }}, ook al kan dit in EJS op een bepaalde manier veranderd worden.

Clone this wiki locally