Next.js é um Server Side Rendering amplamente utilizado em aplicações web desenvolvidas com react.js.
Mas por qual motivo devo utilizar um Server Side Rendering ?
Imagine que você está desenvolvendo o seu blog pessoal, naturalmente você vai querer que seu blog seja indexado pelo google e assim consiga o maior número de visualizações possível. O problema é que se você apenas utilizar o react na sua página, provavelmente sofrerá com o SEO. É que no react, no caso do exemplo do blog, as publicações serão carregadas depois da pagina inicial ter chegado no cliente.
Quando o google indexa suas páginas, ele carrega elas sem Javascript, ou seja, o google elimina tudo o que for conteúdo oriundo de requisições HTTP e carrega apenas o conteúdo textual, imagens, meta dados etc. Portanto, quando desenvolvemos com react o google vai ter dificuldade de indexar esse conteúdo e assim vamos acabar perdendo performance de indexação.
Quando utilizamos o NextJS, o que estamos fazendo é repassando a responsabilidade de fazer as chamadas iniciais na API diretamente para o servidor. Mas como conseguimos fazer isso se o React é uma biblioteca totalmente focada no Frontend?
Assim como o node o react é uma biblioteca javascript, basicamente estamos repassando a responsabilidade da primeira renderização pro servidor, então o node lê o código React, monta os components e faz as requisições necessárias na API e só então retorna as informações para a página. Assim, o google vai conseguir carregar o conteúdo corretamente.
𝗥𝗘𝗗𝗘𝗦 𝗦𝗢𝗖𝗜𝗔𝗜𝗦 ##
Meu Instagram: (@adrianoalmeidadev)
https://bit.ly/2xUYJC5