A template engine allows you to utilize static template files in your projects or applications, then replaces variables and instances declared in a template file with actual values at runtime.
Templates engines are often available in multiple languages with a different syntax, but with a similar philosophy, and having following common features:
- Asynchronous template loading, rendering, and streaming
- Can generate any number of formats like HTML, Markdown, JSON, or YAML.
- Composable templates
Pure template engine works well if you want to allow people to write templates for rendering HTML-pages, e-mails or markdown files. It has no built-in support for event-handling, accessing backend-services or incremental DOM updates.
If you want to build a single-page application and you want to handle user-input, you should probably look for a framework like React, Vue, or Angular.
- Mustache.js - Minimal templating with