Templar nunca pasa de moda.. Por eso, hoy vamos a comparar Mustache y Handlebars.

Mustache

En primer lugar, debo admitir que la documentación de Mustache es bastante divertida. Utilizaron su propia sintaxis para explicar lo que mustache puede hacer y cómo funciona. Por otro lado, la documentación es un poco pobre, no tiene ejemplos interesantes ni una buena demo. No hay mucho más que contar sobre éste.

Enlace a doc: http://mustache.github.io/mustache.5.html

Handlebars

Handlebars tiene dos documentaciones. La primera que vamos a analizar es la de su página web (http://handlebarsjs.com/).

No es tan divertida como la documentación de Mustache pero es mucho más fácil de leer. Tiene una guía de instalación que es realmente clara. El resto de la documentación no es tan impresionante. Sí, la mayoría de los ejemplos son bastante claros pero hay algunos otros que no tienen una aplicación real por ejemplo no es común registrar el parcial como la documentación dice que se haga.

La segunda documentación es la del repo (https://github.com/wycats/handlebars.js/). Esta es un poco más interesante que la de la página. Esto es porque tiene algunos detalles más técnicos que son necesarios para comprobar cuando estamos decidiendo qué lenguaje de plantillas vamos a utilizar (es decir, Compatibilidad y Rendimiento)

Ganador de la ronda: Manillas

Segunda ronda. Parciales

Los parciales en Mustache son realmente fáciles de implementar. No necesitan ser registrados, declarados ni nada raro.

Handlebars

Los parciales en Handlebars son un poco más complejos que en Mustache. Tienes que registrar los parciales con la siguiente sintaxis:

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

El problema con esto es que no puedes tener parciales en subcarpetas. Por ejemplo, no vas a poder hacer esto:

> views

-> partials

– – >header

– – >Menu

No hay mucho más que contar en esta ronda.

Ganador de la ronda: ¡Bigote!

3ª ronda. Lógica

La filosofía de Mustache es mantenerlo simple. Por eso, podemos hacer realmente pocas cosas en nuestra vista.

  • Arrays
  • If/Else
  • Mostrar variables

Y eso es todo. Manténgalo simple.

Handlebars

Handlebars es mucho más complejo en este punto. Aquí puedes hacer toda la lógica que quieras con los helpers de handlebars. Esto es bastante impresionante pero también es un arma peligrosa porque realmente no queremos toneladas de lógica en nuestra vista.

Si no quieres usar helpers, también puedes hacer lo mismo que en Mustache.

Ganador de la ronda: Draw !

Summary

Ok, es hora de resumir.

Creo que si estás creando una aplicación pequeña o si realmente no necesitas una lógica compleja en tu vista, deberías usar Mustache. Eso es porque quieres mantener tu lógica tan simple como sea posible y también no quieres tener algunas herramientas peligrosas en tu caja de herramientas.

Por otro lado, tu aplicación podría necesitar una lógica un poco más compleja que if’s y array’s. En ese caso yo elegiría definitivamente Handlebars pero por favor ten cuidado con los helpers y no añadas lógica que podría estar en el controlador.

Gracias por leer!

Juan.