12 de Fevereiro de 2025
SSR, Hydration e Client-side Rendering Sem Misturar
Como separar o que e HTML vindo do servidor, o que e ativação no cliente e o que realmente só nasce no browser.
Andrews Ribeiro
Founder & Engineer
4 min Intermediario Frontend
Trilha
Trilha para entrevistas de senior frontend
Etapa 8 / 15
O problema
Tem muito app web moderno em que a pessoa ouve estas tres siglas e mistura tudo:
- SSR
- hydration
- client-side rendering
Ai surgem frases ruins como:
- “SSR e mais rápido”
- “hydration e SSR”
- “CSR não tem HTML”
Cada uma até encosta num pedaco da verdade.
Mas juntas ainda deixam a cabeca confusa.
Modelo mental
O jeito mais útil de pensar e separar fases:
- quem monta o HTML inicial
- quando o browser recebe esse HTML
- quando a pagina ganha interatividade real
Com isso:
- SSR responde pela montagem no servidor
- hydration responde por conectar o HTML ao código interativo no cliente
- client-side rendering responde por montar a UI principal no browser
Essas coisas podem coexistir no mesmo produto.
Quebrando o problema
O que SSR faz
No SSR, o servidor entrega HTML já montado.
Isso ajuda em coisas como:
- conteúdo legivel cedo
- resposta melhor para crawler
- primeira impressao visual mais rápida em muitos casos
Mas vale um cuidado:
SSR entrega estrutura cedo.
Não garante interatividade cedo por si só.
O que hydration faz
Hydration e a etapa em que o JavaScript no browser pega aquele HTML já existente e liga os comportamentos esperados.
Em linguagem simples:
- o HTML esta la
- mas os handlers, estado e lógica interativa ainda precisam se acoplar
Por isso uma pagina pode:
- parecer pronta para ler
- mas ainda não estar pronta para interagir direito
Esse intervalo confunde bastante em debug de UX.
O que CSR faz
No client-side rendering mais puro, o browser recebe menos estrutura pronta e monta a interface principal com JavaScript.
Isso pode fazer sentido quando:
- a experiência e muito app-like
- SEO não e prioridade central
- o shell inicial e simples
- o time aceita depender mais do cliente para construir a tela
Mas o custo aparece no browser:
- baixar script
- executar script
- montar UI
Misturar fase visual com fase interativa gera confusao
Uma pagina pode:
- ter HTML cedo por SSR
- demorar para ficar clicavel por causa da hydration
Outra pode:
- demorar mais para mostrar estrutura
- mas ter interatividade mais direta em area pequena depois
Entao a pergunta boa não e “qual modelo e melhor?”.
E:
onde eu quero antecipar leitura, onde eu preciso antecipar interação e quem vai pagar esse custo?
Exemplo simples
Imagine pagina de produto.
Com SSR:
- o servidor devolve titulo, preco e descrição em HTML
- o usuário ve conteúdo cedo
- depois o browser hidrata botao de compra, seletor e recomendações
Com CSR puro:
- o browser recebe shell inicial e scripts
- só depois monta titulo, preco e resto da tela
No primeiro caso, a leitura chega cedo.
No segundo, a montagem principal depende mais de JavaScript.
Nenhum e automaticamente certo sempre.
Depende do tipo de pagina e da experiência desejada.
Erros comuns
- Achar que SSR significa interatividade imediata.
- Tratar hydration como detalhe sem custo.
- Chamar qualquer render no cliente de hydration.
- Julgar CSR como errado por principio.
- Ignorar mismatch entre HTML do servidor e estado do cliente.
Como um senior pensa
Quem tem mais experiência costuma separar:
- tempo para ver
- tempo para interagir
- custo de CPU no cliente
- necessidade de indexação
Essa separação melhora muito a decisão.
Porque tira a conversa do marketing de framework e traz para o comportamento real da pagina.
O que o entrevistador quer ver
Em entrevista, o avaliador geralmente quer ver se você entende a diferença entre entregar HTML e entregar interatividade.
Você sobe de nivel quando:
- explica SSR como montagem inicial no servidor
- explica hydration como ativação interativa
- explica CSR como montagem principal no cliente
- fala de trade-off entre leitura cedo, interação e custo no browser
Uma resposta forte costuma soar assim:
“SSR ajuda a entregar HTML cedo. Hydration conecta esse HTML ao JavaScript interativo. No CSR puro, a UI principal nasce no cliente. A escolha depende de SEO, percepção inicial e custo de execução no browser.”
Pagina renderizada não e necessariamente pagina pronta. Essa diferença muda bastante a qualidade do diagnostico.
Resumo rápido
O que vale manter na cabeça
- SSR gera HTML no servidor. Hydration conecta esse HTML ao JavaScript interativo no cliente.
- Client-side rendering nasce no browser e normalmente entrega estrutura útil mais tarde do que SSR.
- Ter HTML cedo não significa ter interatividade cedo. Hydration também custa CPU e tempo.
- Separar essas fases ajuda muito a explicar SEO, TTFB, interatividade e bugs de mismatch.
Checklist de pratica
Use isto ao responder
- Consigo explicar o que o usuário recebe antes do JavaScript executar?
- Sei dizer o que hydration faz alem de simplesmente baixar script?
- Consigo diferenciar pagina pronta para ler de pagina pronta para interagir?
- Sei responder quando CSR puro faz sentido e quando SSR ajuda mais?
Você concluiu este artigo
Parte da trilha: Trilha para entrevistas de senior frontend (8/15)
Compartilhar esta página
Copie o link manualmente no campo abaixo.