Lucchesi
topo

Heist em 60 segundos

O Heist é o sistema de templates padrão do Snap Framework — um framework Haskell para o desenvolvimento de aplicações Web.

Eu fiz um tutorial de 3 partes sobre a criação de um site simples em Haskell usando o Heist (confira: Parte 1, Parte 2 e Parte 3) e no post de hoje eu resolvi fazer um resumo do que é o Heist.

E nada melhor do que entender alguma coisa pelas palavras do próprio criador, não é mesmo?

A síntese a seguir é uma adaptação para PT-BR da excelente explicação do Doug Beardsley — o criador do Heist.

Um sistema de templates é uma ponte que conecta dados estáticos (templates) e dados dinâmicos.

O Heist é um sistema de templates que conecta templates HTML e código Haskell.

Um splice é código Haskell que o Heist associa a uma tag HTML.

Toda vez que uma determinada tag aparece em um template, o Heist executa o splice associado a essa tag passando a própria tag (incluindo os seus atributos e suas tags filhas ou tags aninhadas) como entrada/argumento para o splice.

A saída de um splice é uma lista de tags que são substituídas no template no lugar da tag original de entrada.

Splices podem ser entendidos como funções que podem ser chamadas a partir dos templates para se obter dados dinâmicos.

Splices podem passar esses dados dinâmicos de volta para os templates associando (temporariamente) novos splices.

<bind> é uma tag que pode ser usada nos templates para criar novos splices.

<apply> é uma tag que permite a inserção de um template em outro.

Para não ficar só na teoria e entender a dinâmica do Heist na prática, aproveite para ler a Parte 1 do tutorial e comece a criar o seu site em Haskell.