Published on

Server Side Rendering (SSR)

Qual o propósito do SSR?

O Server Side Rendering é um procedimento na qual o HTML é gerado do lado do servidor, reduzindo a carga inicial no lado do cliente pois o conteúdo do HTML já estará pronto antes de ser enviado ao navegador.

Por que diabos isso voltou?

A grande questão é que os primeiros sites já eram SSR por padrão. Todo site era gerado do lado do servidor e o cliente era simplesmente responsável por renderizar o conteúdo do HTML gerado. Acontece que com a evolução das tecnologias de frontend e os novos frameworks: React, Angular, Vue, etc. trouxeram boa parte da renderização e carga para o navegador, tornando menos necessários os processos realizados do lado do servidor. Atualmente se vê necessária uma abordagem mista entre CSR e SSR, pois existem pontos positivos em ambos os lados.

E qual solução deve ser adotada atualmente?

A escolha depende de inúmeros fatores. O grande ponto é que existem várias combinações possíveis a serem adotadas entre renderização do lado do cliente e do lado do servidor. Vale a pena ressaltar que dependendo da aplicação sera mais viável escolher uma ou outra abordagem, bem como uma combinação específica. Uma aplicação que visa muita interação do lado do cliente poderia ser mais propícia a um CSR (Client Side Rendering). Aplicações que exigem SEO e um carregamento performático no primeiro load poderia se beneficiar com uma abordagem SSR (Server Side Rendering).

Considerações do autor

Um conceito importante relacionado ao SSR é a "hidratação". Este conceito se refere ao processo de transformação do site estático em site dinâmico e interativo através do carregamento de scripts do lado do cliente sem recarregar a página. Este é um tópicos principais que frameworks atuais tentam aprimorar dentro de suas libs.