Templare non diventa mai vecchio. Per questo motivo, oggi confronteremo Mustache e Handlebars.

Mustache

Prima di tutto, devo ammettere che la documentazione di Mustache è piuttosto divertente. Hanno usato la loro sintassi per spiegare cosa può fare Mustache e come funziona. D’altra parte, la documentazione è un po’ povera, non ha esempi interessanti o una buona demo. Non c’è molto altro da dire su questo.

Link alla documentazione: http://mustache.github.io/mustache.5.html

Handlebars

Handlebars ha due documentazioni. La prima che analizzeremo è quella nel loro sito web (http://handlebarsjs.com/).

Non è divertente come la documentazione di Mustache ma molto più facile da leggere. Ha una guida all’installazione che è davvero chiara. Il resto della documentazione non è così fantastico. Sì, la maggior parte degli esempi sono abbastanza chiari ma ce ne sono alcuni altri che non hanno un’applicazione reale, per esempio non è comune registrare il partial come la documentazione dice di fare.

La seconda documentazione è quella sul repo (https://github.com/wycats/handlebars.js/). Questa è un po’ più interessante di quella sulla pagina. Questo perché ha alcuni dettagli tecnici in più che sono necessari da controllare quando stiamo decidendo quale linguaggio di template useremo (cioè compatibilità e prestazioni)

Vincitore del round: Manubri !

Secondo round. Parziali

I parziali in Mustache sono davvero facili da implementare. Non hanno bisogno di essere registrati, dichiarati o cose strane.

Handlebars

I parziali in Handlebars sono un po’ più complessi che in Mustache. Devi registrare i partial con la seguente sintassi:

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

Il problema con questo è che non puoi avere partial su sottocartelle. Per esempio, non sarai in grado di fare questo:

> views

-> partials

– – >header

– – – >Menu

Non ho molto altro da dire in questo round.

Vincitore del round: Mustache !

3° round. Logica

La filosofia di Baffi è di mantenere la semplicità. Per questo motivo, possiamo fare davvero poche cose nella nostra vista.

  • Arrays
  • If/Else
  • Variabili display

E questo è tutto. Mantienilo semplice.

Handlebars

Handlebars è molto più complesso in questo punto. Qui, potete fare tutta la logica che volete con gli helper di handlebars. Questo è abbastanza impressionante ma è anche un’arma pericolosa perché non vogliamo davvero tonnellate di logica nella nostra vista.

Se non volete usare gli helper, potete anche fare lo stesso che in Mustache.

Vincitore del round: Draw !

Summary

Ok, è ora di riassumere.

Penso che se stai creando una piccola applicazione o se non hai davvero bisogno di una logica complessa nella tua vista, dovresti usare Mustache. Questo perché vuoi mantenere la tua logica il più semplice possibile e inoltre non vuoi avere alcuni strumenti pericolosi nella tua cassetta degli attrezzi.

Al lato, la tua app potrebbe aver bisogno di una logica un po’ più complessa di if e array. In questo caso sceglierei sicuramente Handlebars ma, per favore, fai attenzione agli helper e non aggiungere la logica che potrebbe essere nel controller.

Grazie per aver letto !

Juan.