O Node.js roda JavaScript fora do navegador; o Next.js é um framework React que roda sobre ele. Veja a stack camada por camada, um endpoint nos dois e quando usar cada um.
O Node.js é um runtime: o programa que executa JavaScript em um servidor ou no seu notebook. O Next.js é um framework React para criar sites, e as ferramentas de build e o servidor dele rodam no Node.js. Então a escolha raramente é um ou outro. Todo app Next.js precisa do Node.js por baixo, enquanto um app Node.js não precisa envolver o Next.js.
Runtime versus framework
O jeito mais rápido de ver a relação é olhar as camadas por onde uma requisição passa. Clique em cada camada de um app Next.js típico abaixo para ver o que ela faz e quem é responsável por ela.
Os dois, dentro de limites. Ele renderiza páginas React no servidor, envia as partes interativas ao navegador e permite escrever Route Handlers para endpoints JSON. Ele não foi feito para ser um backend completo para muitos outros clientes.
Você precisa do Node.js instalado e de alguma familiaridade com o npm e o terminal. Não é preciso conhecer a fundo o módulo node:http, porque o Next.js cuida do servidor para você.
A opção de rota runtime agora indica 'nodejs' como padrão e 'edge' como obsoleto. A documentação pede que você remova o export runtime dos arquivos de rota, então código novo deve assumir o Node.js.
A documentação de deploy do Next.js lista o Bun como adaptador verificado e o Deno Deploy entre outras plataformas com integração própria. O suporte a recursos varia fora do servidor Node.js, então confira as notas da plataforma.
Mais parecido do que o Node.js, já que os dois são bibliotecas sobre o Node.js. O Express é um kit mínimo de servidor HTTP; o Next.js é um framework completo de sites construído em torno do React.
Usa só o módulo nativo node:http. Você decide a porta, os cabeçalhos e o roteamento. Rode com node server.mjs.
O caminho do arquivo vira /api/hello e o Next.js roda o servidor. Caminhos desconhecidos recebem automaticamente a página 404 do framework.
Cada script inicia um processo Node.js: o servidor de desenvolvimento, o build de produção e o servidor de produção.
O visitante
Recebe o HTML que o Next.js renderizou no servidor e depois carrega JavaScript só para os Client Components, para que botões e formulários funcionem.
Você
Páginas, layouts e Route Handlers na pasta app. Isso é React mais algumas convenções do Next.js, escrito em JavaScript ou TypeScript.
O framework
Mapeia pastas para URLs, renderiza Server Components, empacota o código do cliente e roda o servidor de produção iniciado pelo next start.
O runtime
Executa todo o JavaScript acima no servidor: o build, o servidor de desenvolvimento e cada requisição em produção.
Sua hospedagem
macOS, Windows, Linux ou um container. O Next.js indica macOS, Windows incluindo WSL, e Linux como suportados para desenvolvimento.
Escolha uma camada
Responsável: {v}
Camada {n} de {v}, de cima para baixo
Comece grátis · Sem cartão de crédito