O que é Next.js? Um guia simples para quem cria apps
Next.js é um framework para criar sites e apps web com React. O React oferece os blocos de construção de uma interface — botões, formulários, listas. O Next.js acrescenta o resto do site em volta deles: páginas e URLs, renderização das páginas no servidor para que cheguem prontas para leitura, carregamento de dados e execução de código de backend no mesmo projeto. É um projeto de código aberto, criado pela empresa Vercel, e uma das formas mais usadas para construir sites em React.
Por que o Next.js importa quando você cria apps com IA
Quando você descreve um app para uma ferramenta de IA, ela precisa escolher uma base técnica. Essa escolha molda coisas que você vai se importar depois:
- Visibilidade em buscas. Um site público que precisa aparecer no Google se beneficia de enviar HTML real, o que o Next.js faz bem.
- Onde fica o backend. O Next.js permite que as páginas do frontend e o código de servidor (como “salvar este formulário” ou “chamar a API de pagamento”) vivam em um único projeto.
- Hospedagem. Um app Next.js com recursos de servidor precisa de um servidor onde rodar, enquanto um app Vite simples pode ser servido como arquivos estáticos.
O Mythex começa novos projetos com Vite + React + TypeScript + Tailwind por padrão, e usa Next.js quando você pede — basta “Use Next.js” no seu primeiro prompt (como a tecnologia é escolhida). Por isso, vale saber quando essa escolha compensa.
Uma analogia do dia a dia
Se o React é uma caixa de peças de Lego de alta qualidade, o Next.js é um conjunto de Lego que já vem com as instruções, a base e as peças das portas e da hidráulica.
Você poderia construir a mesma casa com peças soltas — só teria de decidir sozinho como os cômodos se conectam, onde fica a porta da frente e como a água chega. O Next.js toma essas decisões por você de forma padronizada, então todo projeto Next.js tem um layout parecido, e um novo desenvolvedor (ou uma IA) consegue se orientar rapidamente.
O que o Next.js acrescenta ao React
| Recurso | O que significa para você |
|---|---|
| Roteamento baseado em arquivos | Cada página é um arquivo. Um arquivo em app/pricing/page.tsx vira a página /pricing. Sem configuração extra. |
| Renderização no servidor | As páginas podem ser montadas em HTML no servidor a cada requisição, aparecendo rápido e podendo ser lidas pelos mecanismos de busca. |
| Geração estática | Páginas que raramente mudam podem ser construídas com antecedência e servidas muito rápido. |
| Server Components | Partes de uma página podem rodar só no servidor — lendo o banco de dados diretamente — e enviar ao navegador HTML pronto, não código. |
| Route handlers e server actions | O código de backend, como um endpoint de API ou um manipulador de formulário, fica no mesmo projeto das páginas. |
| Otimizações integradas | Redimensionamento de imagens, carregamento de fontes e divisão de código são feitos para você. |
O Next.js tem duas formas de organizar as páginas. O App Router (a pasta app/) é o mais novo e suporta Server Components. O Pages Router (a pasta pages/) é o original e ainda é suportado. Projetos novos geralmente usam o App Router. Se o código gerado pela sua ferramenta de IA ou um tutorial parecer estranho, esse costuma ser o motivo.
Um exemplo prático: um diretório público de cafeterias
Imagine um site que lista cafeterias da sua cidade, com uma página para cada uma, que você quer que apareça nos resultados de busca.
Uma página Next.js para uma cafeteria pode ser mais ou menos assim:
// app/cafes/[slug]/page.tsx → /cafes/porta-azul, /cafes/mirante ...
export default async function CafePage({ params }) {
const { slug } = await params;
const cafe = await db.cafe.findUnique({ where: { slug } });
return (
<main>
<h1>{cafe.name}</h1>
<p>{cafe.address}</p>
</main>
);
}
O que acontece quando alguém (ou o Google) visita /cafes/porta-azul:
- O Next.js associa a URL a esse arquivo. A pasta
[slug]significa “qualquer cafeteria”. - O componente roda no servidor, lê a cafeteria do banco de dados e monta o HTML.
- O navegador recebe uma página completa com o nome e o endereço da cafeteria já incluídos — sem esperar o JavaScript buscar os dados.
Com um app React puro no navegador, o navegador primeiro receberia uma página quase vazia, depois baixaria o JavaScript, depois buscaria a cafeteria e só então a mostraria. Os mecanismos de busca muitas vezes conseguem lidar com isso, mas uma página totalmente formada é mais confiável. Veja SEO para sites criados com IA.
Compare com um painel restrito à equipe, atrás de um login: os mecanismos de busca não o veem de qualquer forma, então a renderização no servidor traz pouco benefício, e um app Vite mais simples costuma ser a melhor opção.
Termos principais
| Termo | Significado |
|---|---|
| Framework | Uma estrutura com convenções que define como um app é organizado. Next.js é um framework; React é uma biblioteca. |
| SSR (renderização no servidor) | Montar o HTML da página no servidor a cada visita. |
| SSG (geração estática) | Gerar as páginas em HTML com antecedência, no momento da publicação. |
| CSR (renderização no cliente) | O navegador monta a página com JavaScript depois de carregá-la. É assim que um app Vite + React típico funciona. |
| SPA (aplicação de página única) | Um app que carrega uma vez e troca as telas no navegador sem recarregar a página inteira. |
| Hidratação | O navegador “acorda” o HTML enviado pelo servidor para que botões e formulários fiquem interativos. |
| Rota | Um caminho de URL, como /pricing, e o código que responde a ele. |
Ideias equivocadas comuns
- “O Next.js substitui o React.” Não substitui. Ele usa o React. Seus componentes continuam sendo componentes React.
- “O Next.js é sempre a melhor escolha.” Ele é mais poderoso e também exige mais entendimento. Renderização no servidor, cache e a diferença entre código de servidor e de cliente são fontes comuns de bugs confusos. Para um app que fica quase todo atrás de um login, um app React puro costuma ser mais simples.
- “O Next.js só roda na Vercel.” Ele é de código aberto e pode rodar em qualquer servidor Node.js ou em um contêiner Docker. Uma exportação totalmente estática é possível se você não usar recursos de servidor.
- “Usar Next.js garante um bom SEO.” Ele deixa as páginas legíveis, o que ajuda. As posições nas buscas ainda dependem de títulos, conteúdo, velocidade e links.
- “O código de servidor no Next.js é automaticamente privado.” Código marcado para o cliente acaba no navegador. Os segredos devem ficar apenas em código de servidor e nas variáveis de ambiente.
O que pedir à sua ferramenta de IA
- “Use Next.js com o App Router” — no seu primeiro prompt, se quiser.
- “Quais páginas são renderizadas no servidor, quais são estáticas e quais rodam no navegador — e por quê?”
- “Torne as páginas públicas de marketing e de listagem renderizadas no servidor ou estáticas, com títulos e descrições adequados.”
- “Guarde as chaves de API em código apenas de servidor e em variáveis de ambiente. Mostre onde cada uma é lida.”
- “Este app precisa de Next.js, ou um app Vite + React seria mais simples para o que estamos construindo?”
Next.js no Mythex
O Mythex usa Vite + React + TypeScript + Tailwind por padrão e muda para Next.js quando você pede no prompt; mencionar isso logo no início economiza créditos em comparação com mudar depois. Você vê o app na Prévia ao vivo, e Publicar o coloca em uma URL ativa sem que você precise configurar a hospedagem. A documentação do Mythex observa que apps de página única renderizados no cliente têm SEO mais fraco do que HTML renderizado no servidor ou estático, então, para um site de marketing em que a busca importa, vale dizer isso logo de início (SEO para o seu app).
Perguntas
O que é Next.js, em termos simples?
Next.js é um framework construído sobre o React. O React monta as peças de uma interface; o Next.js acrescenta o resto do site em volta delas — páginas e URLs, renderização no servidor, carregamento de dados e código de backend —, para que você crie um app web completo em um único projeto.
Qual é a diferença entre React e Next.js?
React é uma biblioteca para criar componentes de interface. Next.js é um framework que usa o React e acrescenta roteamento, renderização no servidor, páginas estáticas e código executado no servidor. Todo app Next.js é um app React, mas nem todo app React usa Next.js.
O Next.js é melhor para SEO?
Pode ser. O Next.js consegue enviar aos mecanismos de busca e aos visitantes um HTML completo, vindo do servidor ou de páginas estáticas pré-construídas, enquanto um app React puro no navegador envia uma página praticamente vazia que o JavaScript preenche depois. Bons títulos, descrições e conteúdo ainda importam mais do que o framework.
Preciso da Vercel para usar o Next.js?
Não. O Next.js é de código aberto e é mantido pela Vercel, mas pode rodar em qualquer servidor que execute Node.js, em um contêiner Docker ou como exportação estática para sites que não precisam de recursos de servidor. Alguns recursos são mais fáceis de configurar na Vercel.
Devo usar Next.js ou Vite para o meu app?
Para um app com login, como um painel ou uma ferramenta interna, um app Vite + React é mais simples e funciona bem. O Next.js vale a pena quando você precisa de conteúdo que mecanismos de busca leiam facilmente, de muitas páginas públicas ou de páginas renderizadas no servidor no mesmo projeto do código de backend.