Nova documentação do React "finge" que SPAs não existem.
Ontem, 17 de março de 2023, uma nova documentação oficial do React foi publicada no site https://react.dev/. Essa nova documentação traz muitas novas melhorias, porém uma parte interessante se encontra na seção "Start a new React Project", onde anteriormente era recomendado o uso do create-react-app
mas que deu lugar nessa nova versão para a recomendação de Frameworks como NextJS, Remix , Gatsby e Expo para projetos nativos.
Porém, essa mudança ocasionou uma certa repercursão online, uma vez que a biblioteca foi inicialmente criada com o intuito de construir Single Page Applications (SPAs) mas agora parece estar cada vez mais se desviando desse caminho.
A própria documentação afirma várias vezes que utilizar essas frameworks é a forma recomendada de se criar uma aplicação com React, e recomenda utilizar o React puro apenas em casos especiais onde sua aplicação possui alguma limitação não-usual.
A remoção da recomendação do create-react-app
é algo que a maioria viu como positivo, uma vez que a maior parte da comunidade entende que o projeto era bastante problemático e já havia migrado para ferramentas mais poderosas como o Vite
Porém, alguns parecem estar descontentes com o fato de que qualquer citação à ferramentas para criação de SPAs estão escondidas dentro da seção "Can I use React without a framework?", algo que se contraria bastante aos fundamentos da biblioteca.
Tudo isso faz sentido considerando algumas mudanças recentes no React como o post feito pelo Deschamps aqui: React está querendo tornar "APIs" algo obsoleto?. Ao visto o futuro do React é menos SPAs e mais SSR e aplicações full-stack, utilizando frameworks robustas como fundação para grandes projetos.
Claro, mesmo utilizando essas frameworks ainda é possível criar SPAs. Porém apesar disso o fato é que elas não foram feitas pra isso, o que ainda é mais contraditório, pois SPAs foram toda a motivação por trás do React no começo.
Na minha opinião, consigo entender o motivo da documentação referenciar essas frameworks, porém ainda sinto que o Vite deveria ser a primeira opção mencionada, pois sinto que para quem está iniciando trabalhar com uma framework pode acabar complicando mais do que ajudando.