Template engines - TristanVarewijck/Block-Tech GitHub Wiki
Voordat ik een template engine ging installeren heb ik eerst onderzocht wat een template engine eigenlijk is en heb ik onderzoek gedaan naar meerdere template engines. Degene die ik heb gekozen heb ik verder uitgelicht.
Wat is een template engine?
Een template engine is een hulpmiddel voor het schrijven van HTML. Je kan met een template engine variables maken, als je de template engine heb beheerst is het veel simpeler om HTML te schrijven en later te manipuleren.
Onderzoek
De template engines die ik heb onderzocht zijn:
Summarize
Nadat ik een kijkje had genomen naar de verschillende templates ben ik van mening dat Mustache nogal verouderd is, ik vond de docs ook niet echt duidelijk en heb daarom besloten om daar niet meer moeite in te steken. Handlebars leek me erg interessant omdat het gewoon lijkt op normale HTML maar zo deed EJS dus heb ik toch besloten om verder naar EJS te kijken inplaats van naar handlebars en als laatst heb ik een kijkje genomen naar pug. De syntax is hier erg anders maar het viel mij juist op dat je juist minder syntax schrijft en daarom heb ik ook verder gekeken naar pug.
pros & cons
Het leek mij een handig om een overzicht te maken van de voordelen en nadelen van een template en daarna te beslissen welke template ik kies.
Pug:
pros:
- Minder code
- Makkelijke syntax (er verdwijnt vooral syntax)
- Snel te leren
cons:
- Is soms beperkt.
- Heeft sommige shortcuts niet waardoor je even meer moeite moet doen.
Ejs
pros:
- Je hebt veel shortcuts.
- Snel te leren want de syntax (elementen) zijn bijna hetzelfde.
- Je kan grote code (lists, forms) heel klein schrijven.
cons:
- Het is even wennen.
- Nieuwe tekens
Conclusie
Voor dit project neig ik te kiezen voor: EJS
De grootste reden hiervoor is dat ik een filter feature ga maken waar het voor kan komen dat ik lange lijsten moet maken met opties om uit te kiezen nu heb ik een beetje onderzoek gedaan en gezien dat je lijsten heel klein kan coderen via EJS.
De rede dat ik twijfel is, omdat je met pug weer hele herkenbare code heb en het er naar mijn mening niet heel moeilijk uitziet.
In de les zal ik nog de mening vragen van de docent of dit wel echt de meest correcte keuze is.
Resources
- What is a template engines? (Jade & EJS) | Nikolaj Storgaard Pedersen (2015)
- Handlebars.js | Public (2021)
- What are the pros and cons of both Jade and EJS for Node.js templating? | Stackoverflow (2014)
- NodeJS For Beginners: Getting Started With EJS Templates With Express | NoobCoder (2018)
- Jade Template Engine | TutorialsTeacher