Template engine
Un programma che fonde un template con dei dati in un testo finito — di solito HTML, ma anche email, file di configurazione o SQL. Separa la struttura dal contenuto.
Si assomigliano tutti: segnaposto per i valori, una qualche forma di ripetizione e di condizione, e un modo per estrarre porzioni in partial o ereditare da un template di base. La differenza sta in quanta logica è ammessa — Mustache la vieta quasi del tutto, Jinja e Twig consentono espressioni e filtri, ERB ed EJS permettono di eseguire codice arbitrario, il che è comodo e finisce male. L'autoescaping è la proprietà più importante: un motore che esegue l'escape dell'HTML per impostazione predefinita elimina un'intera classe di bug XSS. Il rendering lato server con un template engine resta più veloce, per le pagine di contenuto, che spedire JSON a un client che disegna la stessa cosa.