Template-Engine
Ein Programm, das eine Vorlage mit Daten zu fertigem Text zusammenführt – meist HTML, aber ebenso gut E-Mails, Konfigurationsdateien oder SQL. Trennt Struktur von Inhalt.
Sie sehen sich alle ziemlich ähnlich: Platzhalter für Werte, irgendeine Form von Wiederholung und Bedingungen sowie die Möglichkeit, Teile in Partials auszulagern oder von einer Basisvorlage zu erben. Der Unterschied liegt darin, wie viel Logik erlaubt ist – Mustache verbietet sie fast vollständig, Jinja und Twig erlauben Ausdrücke und Filter, ERB und EJS lassen beliebigen Code laufen, was praktisch ist und schlecht endet. Autoescaping ist die wichtigste Eigenschaft: Eine Engine, die HTML standardmäßig escaped, entfernt eine ganze Klasse von XSS-Bugs. Serverseitiges Rendering mit einer Template-Engine ist für Inhaltsseiten immer noch schneller, als JSON an einen Client zu schicken, der dasselbe zeichnet.