O que é Template Engine? \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 03 Horas 

 06 Min 

 08 Seg 

   Tempo restante da oferta: 03 06 08 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) O que é Template Engine?  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

# O que é Template Engine?

 Veja neste artigo o que é Template Engine e as principais opções do mercado.

 [ Ana Paula de Andrade ](https://www.treinaweb.com.br/blog/autor/ana-paula-andrade) 7 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/13150804/template-engine-1.png)  

Quando estamos desenvolvendo uma aplicação web, é comum que queiramos exibir determinados dados obtidos de alguma fonte (seja um banco de dados, uma [API](https://www.treinaweb.com.br/blog/o-que-e-uma-api/ "API"), uma lista, etc). Para essa exibição, normalmente utilizamos de páginas [HTML](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-html-e-css/ "HTML") para que sejam renderizadas no navegador.

Porém, a criação de páginas HTML é, muitas vezes, algo improdutivo e ineficiente, principalmente quando precisamos trabalhar com grandes quantidades de dados ou até utilizar recursos das linguagens de programação (for, if, case, etc) nas páginas HTML. Para estes casos, podemos utilizar as template engines (ou view engines).

Basicamente, uma template engine serve para facilitar a criação de páginas HTML e tornar o envio e exibição de informações para estas páginas um processo mais simples e organizado.

## Exemplo

Por padrão, o [PHP](https://www.treinaweb.com.br/blog/o-que-e-php/ "PHP") possui uma forma de executar código em páginas HTML. Porém, este processo não é dos mais eficientes e legíveis do mercado. Imagine que você queira verificar se existe algum usuário logado na página e, caso positivo, exibir o nome deste usuário.

No PHP, este código ficaria da seguinte forma:

```php

Welcome back,  

```

Utilizando uma template engine (como o Blade, template engine padrão do Laravel), este mesmo código poderia ser escrito da seguinte forma:

```php
@if ($user->isLogged()) 
Welcome back, {{ $user->name }} 
@endif

```

É simples perceber a legibilidade de um código em comparação com o outro. Com o Blade, o uso de estruturas de condição é mais simples e legível, quando comparado ao PHP puro.

[  ![Symfony - Template Engine Twig](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/twig.svg)   Curso Symfony - Template Engine Twig Conhecer o curso ](https://www.treinaweb.com.br/curso/symfony-template-engine-twig)

## Algumas vantagens

Com o uso das template engines, conseguimos identificar diversas vantagens quando comparados ao uso de HTML puro:

- Maior velocidade na criação de templates;
- Melhor reaproveitamento de código HTML;
- Uso de tipos de dados nativos em páginas HTML;
- Uso de recursos das linguagens de programação em páginas HTML (estruturas de condição, repetição, etc), entre outros.

## Como funciona uma Template Engine?

Como sabemos, o navegador só consegue “ler” informações em HTML e renderizá-las para o usuário. Por isso, as template engines “traduzem” o conteúdo dos seus templates para código HTML puro os envia para o navegador. É este processo que permite que uma template engine exista, já que de nada adiantaria se as páginas retornadas por ela não pudessem ser lidas pelos navegadores.

Basicamente, o processo da criação de páginas pelas template engines se dá da seguinte forma:

Um template é criado (como o exemplo abaixo em Jinja2, um dos principais template engines do ecossistema [Python](https://www.treinaweb.com.br/blog/o-que-e-python/ "Python")):

```python
{% block title %}{% endblock %}

{% for user in users %}
  {{ user.username }}
{% endfor %}

```

Este template é “traduzido” para código HTML e enviado para o navegador.

![Fluxograma template engine](https://dkrn4sk0rn31v.cloudfront.net/2019/12/12151141/template-engine.png)

## Principais template engines do mercado

No mercado existem diversos template engines. Os principais deles são:

**No PHP:**

- Plates;
- Blade;
- Twig, entre outros.

**No JavaScript:**

- Mustache;
- Handlebars;
- doT;
- EJS;
- PUG;
- Jade Language;
- Squirrelly, entre outros.

**No Python:**

- [Django](https://www.treinaweb.com.br/blog/o-que-e-django/ "Django") Template;
- Genshi;
- Jinja;
- Mako, entre outros.

**No Java:**

- Java Server Pages (JSP);
- Thymeleaf;
- FreeMarker, entre outros.

## Então, podemos concluir…

O uso de template engines facilita a criação da camada de visualização de dados em uma aplicação. Com eles podemos utilizar recursos das linguagens de desenvolvimento para criar páginas HTML, como, estrutura de condição, de repetição, herança, etc.

- [ #framework ](https://www.treinaweb.com.br/blog/tag/framework)
- [ #Template Engine ](https://www.treinaweb.com.br/blog/tag/template-engine)

Autor

 ![Ana Paula de Andrade](//secure.gravatar.com/avatar/76297b487187c82ae476e823018dbfc0?d=mm)

## Ana Paula de Andrade

 Graduanda em Sistemas de Informação pelo Instituto Federal da Bahia. É responsável pelo atendimento ao cliente, gerenciamento de redes sociais e revisão de cursos, além da redação de artigos para o blog da TreinaWeb. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/ana-paula-andrade)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/o_que_e_django_template_language-400x280.png)  [ Django ](https://www.treinaweb.com.br/blog/categoria/django) 

     6 anos atrás

    ##  [ O que é Django Template Language? ](https://www.treinaweb.com.br/blog/o-que-e-django-template-language) 

     Veja neste artigo o que é o Django Template Language.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/08/EJS-400x280.png)  [ Node ](https://www.treinaweb.com.br/blog/categoria/node-js) 

     5 anos atrás

    ##  [ Utilizando template engine EJS com Node.js ](https://www.treinaweb.com.br/blog/utilizando-template-engine-ejs-com-node-js) 

     Neste artigo vamos aprender a utilizar a Template Engine EJS com Node.js e também alguns recursos interessantes desta ferramenta.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/04/NEST-JS-COM-HANDLEBARS-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     4 anos atrás

    ##  [ NestJS com template engine handlebars ](https://www.treinaweb.com.br/blog/nestjs-com-template-engine-handlebars) 

     Neste artigo vamos aprender a configurar o NestJS com o handlebars, uma template engine que permite criarmos views dinâmicas e robustas.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/01/16094538/liquid-fluid-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     7 anos atrás

    ##  [ Trabalhando com a template engine Liquid no ASP.NET Core ](https://www.treinaweb.com.br/blog/trabalhando-com-a-template-engine-liquid-no-asp-net-core) 

     Em alguns projetos pode ser necessário substituir o Razor por outra engine template. Neste caso, aprenda como fazer esta substituição pelo Liquid.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/THYMELEAF-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ O que é o Thymeleaf? ](https://www.treinaweb.com.br/blog/o-que-e-o-thymeleaf) 

     Neste artigo veremos o que é e os principais recursos de uma das template engines mais utilizadas no ecossistema Java, o Thymeleaf.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/12/o-que-e-o-jinja2-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     6 anos atrás

    ##  [ O que é o Jinja2? ](https://www.treinaweb.com.br/blog/o-que-e-o-jinja2) 

     Veja neste artigo o que é e como funciona o Jinja2.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/12/o-que-e-twig-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     6 anos atrás

    ##  [ O que é Twig? ](https://www.treinaweb.com.br/blog/o-que-e-twig) 

     Veja neste artigo o que é Twig.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/thymeleaf-reaproveitando-codigo-com-fragments-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ Thymeleaf - Reaproveitando código com fragments ](https://www.treinaweb.com.br/blog/thymeleaf-reaproveitando-codigo-com-fragments) 

     Neste artigo veremos como utilizar a funcionalidade de fragments da template engine Thymeleaf para reaproveitarmos o código de nossos templates.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/thymeleaf-reaproveitando-codigo-com-fragments-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ Thymeleaf - Herança de Templates ](https://www.treinaweb.com.br/blog/thymeleaf-heranca-de-templates) 

     Neste artigo veremos como implementar a herança de templates com os fragments parametrizados da template engine Thymeleaf.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/THYMELEAF-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ Thymeleaf - Estruturas de condição e repetição ](https://www.treinaweb.com.br/blog/thymeleaf-estruturas-de-condicao-e-repeticao) 

     Neste artigo veremos como utilizar estruturas de condição e as estruturas de repetição da template engine Thymeleaf.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/08/NEST-JS-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     5 anos atrás

    ##  [ O que é NestJS? ](https://www.treinaweb.com.br/blog/o-que-e-nestjs) 

     Vamos ver neste artigo uma breve descrição sobre o que é o NestJS e como criar uma aplicação base em minutos.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/o-que-e-o-spring-boot-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     6 anos atrás

    ##  [ O que é o Spring Boot? ](https://www.treinaweb.com.br/blog/o-que-e-o-spring-boot) 

     Neste artigo veremos o que é o Spring Boot e como ele pode nos auxiliar no desenvolvimento de aplicações Spring.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **03h 06min 08s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
