Templere bliver aldrig gamle.. Derfor vil vi i dag sammenligne Mustache og Handlebars.

Mustache

Først af alt må jeg indrømme, at dokumentationen af Mustache er ret sjov. De brugte deres egen syntaks til at forklare hvad mustache kan gøre og hvordan det virker. På den anden side er dokumentationen en smule dårlig, den har ikke interessante eksempler eller en god demo. Ikke meget mere at fortælle om denne.

Link til doc: http://mustache.github.io/mustache.5.html

Handlebars

Handlebars har to dokumentationer. Den første, som vi skal analysere, er den på deres hjemmeside (http://handlebarsjs.com/).

Det er ikke lige så sjovt som Mustaches dokumentation, men meget nemmere at læse. Den har en installationsvejledning, der er virkelig klar. Resten af dokumentationen er ikke så fed. Ja, de fleste af eksemplerne er ret klare, men der er nogle andre, der ikke har en reel anvendelse for eksempel er det ikke almindeligt at registrere partial som dokumentationen siger man skal gøre det.

Den anden dokumentation er den på repo’en (https://github.com/wycats/handlebars.js/). Denne den det er lidt mere interessant end den på siden. Det skyldes, at den indeholder nogle flere tekniske detaljer, som er nødvendige at tjekke, når vi skal beslutte, hvilket templating-sprog vi skal bruge (dvs. kompatibilitet og ydeevne)

Vinder af runden:

2. runde: Vinder af runden: Handlebars !

2. Partialer

Partialer i Mustache er virkelig nemme at implementere. De behøver ikke at blive registreret, deklareret eller noget mærkeligt.

Handlebars

Partialer i Handlebars er lidt mere komplekse end i Mustache. Du skal registrere partialerne med følgende syntaks:

hbs.registerPartials(‘PATH TO FOLDER OR FILE’);

Problemet med dette er, at du ikke kan have partialer på undermapper. Du vil f.eks. ikke kunne gøre dette:

> views

-> partials

– – >header

– – – >Menu

Ikke meget mere at fortælle i denne runde.

Vinder af runden: Mustache !

3. runde. Logik

Mustache’s filosofi er at holde det simpelt. På grund af det kan vi gøre virkelig få ting i vores visning.

  • Arrays
  • If/Else
  • Aviser variabler

Og det er det. Keep it simple.

Handlebars

Handlebars er meget mere kompleks på dette punkt. Herinde kan du lave lige så meget logik, som du vil, med handlebars’ hjælpere. Det er ret fedt, men det er også et farligt våben, for vi ønsker virkelig ikke tonsvis af logik på vores view.

Hvis du ikke ønsker at bruge helpers, kan du også gøre det samme som i Mustache.

Vinder af runden:

Summary

Ok, tid til at opsummere.

Jeg synes, at hvis du laver en lille app, eller hvis du ikke rigtig har brug for kompleks logik i din visning, så bør du bruge Mustache. Det skyldes, at du ønsker at holde din logik så enkel som muligt, og du ønsker heller ikke at have nogle farlige værktøjer på din værktøjskasse.

På den anden side har din app måske brug for lidt mere kompleks logik end if’s og array’s. I det tilfælde ville jeg helt sikkert vælge Handlebars, men vær forsigtig med hjælperne og tilføj ikke logik, der kunne være i controlleren.

Tak for læsning !

Juan.