Mustache – Templates Universais

Quando você vai estruturar um novo site, é comum nos depararmos com os mais diversos template engines. Muitos deles, entretanto, não tem suporte a diversas linguagens, ou quando tem possuem enormes diferenças de sintaxe. Além disso, muitos template engines possuem tantos recursos que fica dificil não separar o layout da lógica, e assim acabamos por ter dois layouts distintos que não podem usar-se das mesmas variáveis e acabam apenas por gerar muita confusão durante a manutenção de um site. Por isso, hoje vou apresentar o Mustache, um template engine fácil de usar e o melhor: universal.

Templates no geral devem ter alguns requisitos básicos para possuirem boa manutentabilidade:

  • Serem fáceis de usar
  • Ter sintaxe simples
  • Não possuírem lógica avançada embutida, como snippets de código server-side.
  • E, mais recentemente, serem universais (rodarem tanto no servidor quanto no browser, e terem um bom suporte à variadas linguagens)

Tais requisitos muitas vezes são esquecidos em frente a template engines mais populares como o Twig e o _.template do UnderscoreJS, por exemplo, e graças a isso é muito fácil a manutenção se perder. Imagine, por exemplo, que o site tem um grande número de visitas e graças à isso você se vê forçado a mudar de linguagem server-side? Usando tais template engines, você simplesmente tem que migrar todo o template feito para o seu layout junto com o resto do site. E o pior: Graças ao suporte avançado à lógica embutida, muitas vezes as possibilidades são limitadas.

Suporte do Mustache à diferentes linguagens

O Mustache é um dos template engines mais simples e mais conhecidos por cumprir bem estes requisitos. Com um só template, você tem suporte às seguintes linguagens:

Essa lista foi capturada diretamente do site oficial do Mustache em 12 de junho de 2013. E mais: Você pode implementar o seu próprio parser para os templates Mustache com facilidade, visto que todo as regras para suporte aos templates estão especificadas publicamente.

Mas aí você deve estar se perguntando:

Ok, e os editores com suporte para o Mustache?

Bom, atualmente o Mustache tem suporte aos seguintes editores:

Legal, né?

Outra coisa muito legal do Mustache é que o próprio template engine é definido como logic-less. O que isso quer dizer? Quer dizer que o suporte à lógica nos templates é a mínima possível. A prova está no manual.

Acho que, frente à essa longa lista de posts, não é necessário falar mais nenhuma vantagem do Mustache, né? E, dado o fato de que é um template engine universal, acho que também não é necessário publicar nenhuma exemplo de código..Pois tais exemplos seriam limitados demais visto a grande variedade de linguagens que o Mustache suporta.

Gostou do conteúdo desse post? Apoie o blog contribuindo a partir de R$1/mês através da nossa página no Apoia.se! Isso me ajudará a manter o blog no ar, além de trazer mais coisas legais para vocês! Obrigado desde já! 😀