React: A Guerra Civil dos Frameworks e o Futuro do Desenvolvimento Web
Explore a evolução do React, os Componentes de Servidor (RSC), e a polêmica parceria com Next.js e Vercel. Descubra alternativas como React Router v7 e TanStack Start para o desenvolvimento web moderno.

A Evolução do React: Do Cliente ao Servidor
Nos últimos anos, enquanto a inteligência artificial avança e redefine o cenário profissional, o universo React tem estado imerso em sua própria “guerra civil” interna. De um lado, desenvolvedores “rebeldes” lutam pela simplicidade e leveza das ferramentas React originais. Do outro, a “Equipe Islândia” (referência à Vercel) busca vender sua infraestrutura de nuvem e serviços de hospedagem. Este artigo desvenda as complexidades dessa disputa e explora as direções que o desenvolvimento React está tomando em 2025.
O React, que antes era uma biblioteca focada exclusivamente no cliente, passou por uma transformação significativa. Sua filosofia central sempre foi que a interface do usuário (UI) é uma função do estado da aplicação. Isso significava que os desenvolvedores só precisavam se preocupar em como o estado da aplicação mudava, e o React cuidaria do resto. Essa abordagem simples e elegante fez do React uma escolha popular para a construção de interfaces interativas.
Componentes de Servidor React (RSC): Uma Nova Abordagem
Atualmente, o React não se limita mais apenas ao cliente; ele “metastasiou” para o servidor. Isso se manifesta nos Componentes de Servidor React (RSC), que são capazes de executar código no servidor. Por exemplo, um componente de servidor React pode buscar dados durante a renderização, algo que não é permitido em componentes React tradicionais no cliente. Isso porque os RSCs não têm as mesmas restrições dos componentes de cliente, pois operam em um ambiente de servidor.
Os RSCs podem ser vistos como geradores de templates HTML serializáveis e aprimorados. A principal função deles é calcular a UI no servidor e enviá-la para o cliente. Conceitualmente, isso é bastante simples, e essa colaboração entre a UI e o cliente possibilita recursos impressionantes.
Benefícios da Composição de UI e Streaming
Um dos grandes trunfos dos RSCs é a otimização do tamanho do bundle JavaScript. Diferente de um componente React tradicional que incluiria bibliotecas inteiras (como a `Papa Parse` mencionada no vídeo) no bundle JavaScript que o usuário teria que baixar, com os RSCs, apenas o resultado final da computação (o HTML) e instruções de hidratação são enviados para o cliente. Isso resulta em tempos de carregamento mais rápidos e uma experiência de usuário aprimorada.
Além disso, o React foi pioneiro na ideia de trazer a composição de UI para o frontend, permitindo a criação de interfaces complexas a partir de componentes menores e isolados. Essa abordagem leva a bases de código mais flexíveis, de fácil manutenção e escaláveis. Combinado com o Suspense, um componente React que permite exibir uma UI alternativa de carregamento enquanto o React renderiza seus filhos, os RSCs permitem priorizar a exibição imediata de parte da interface ao usuário e, em seguida, transmitir o restante à medida que ele se torna disponível. Isso é conhecido como composição através da rede.
Os Desafios e Controvérsias dos RSCs
Apesar dos benefícios, a implementação dos RSCs não é trivial e introduziu uma camada de complexidade significativa. Para que funcionem, são necessários três elementos:
- Bundler: Um empacotador capaz de processar e diferenciar entre componentes de servidor e de cliente (como o Turbopack da Vercel).
- Servidor: Um servidor que pode pegar o bundle gerado pelo empacotador e transmiti-lo para o cliente.
- Roteador Lado-Cliente: Um roteador que pode requisitar e processar o stream do servidor.
Para o desenvolvedor médio, a curva de aprendizado e a configuração desses elementos podem ser esmagadoras. De acordo com o vídeo, muitos sequer entendem o que é um bundler sem recorrer ao ChatGPT.
A Dependência da Infraestrutura
A equipe React buscou resolver essa complexidade por meio de uma parceria com a equipe Next.js e a Vercel, sua provedora de infraestrutura. O objetivo era polir a experiência do desenvolvedor a tal ponto que os benefícios dos RSCs seriam “gratuitos”, tornando-o a maneira idiomática de usar React, e, por consequência, o Next.js. O App Router do Next.js implementa totalmente a especificação oficial dos Componentes de Servidor React. No entanto, essa aposta tem sido criticada por muitos na comunidade React.
Críticas à Centralização e Complexidade
Como apontado por Evan You, criador do Vue.js, essa abordagem acarreta compromissos e exige controle sobre camadas que antes não estavam no escopo dos frameworks de cliente. Isso gera uma complexidade e sobrecarga mental consideráveis. A comunidade React expressa preocupação de que o Next.js tenha se tornado um “produto de marketing” para a Vercel, otimizado para vender serviços de hospedagem e plataforma. Isso levanta a questão da liberdade do desenvolvedor versus um ecossistema rigidamente controlado, onde uma única empresa controla a visão, o roadmap e até mesmo partes da comunidade, tornando mais difícil confiar na direção de longo prazo do React.
Alternativas para o Desenvolvimento React Moderno
Para aqueles que desejam construir aplicações React hoje e evitar a “máquina de dinheiro” da Vercel, há opções viáveis:
React Router v7 e a Flexibilidade do Vite
O React Router versão 7, anteriormente conhecido como Remix, é a biblioteca de roteamento mais popular para React, com bilhões de downloads no NPM. Focado em padrões da web, ele pode ser combinado com o Vite para criar um framework React full-stack. Essa combinação oferece uma abordagem mais agnóstica em relação à infraestrutura, permitindo que os desenvolvedores escolham seu próprio provedor de hospedagem.
TanStack Start: A Solução Full-Stack para TypeScript
Outra alternativa promissora é o TanStack Start. Alimentado por TypeScript e pelo roteador TanStack, ele se posiciona como um framework React e Solid full-stack. Ele oferece recursos como Server-Side Rendering (SSR) com documentação completa, streaming, funções de servidor e RPCs, e se compromete a oferecer uma experiência “cliente-primeiro” para o desenvolvedor, mantendo o controle total sobre o servidor. Embora ainda esteja em beta, o TanStack Start visa entregar um sistema robusto e capaz de servidor, sem comprometer a experiência do usuário.
Construindo do Zero com REACT.gg
Finalmente, se sua aplicação possui restrições que não são bem atendidas pelos frameworks existentes, ou se você simplesmente deseja aprender os fundamentos do React, a equipe React sugere construir sua própria aplicação do zero. Para isso, o REACT.gg, patrocinador do vídeo, oferece um curso interativo e baseado em desafios para dominar o React moderno, incluindo os recursos da versão 19, como Componentes de Servidor, Actions e Transitions. O curso utiliza visuais interativos e desafios práticos, que o vídeo compara ao LeetCode para React. Os criadores do REACT.gg também desenvolveram e publicaram a biblioteca `useHooks`, que já tem mais de 300 mil downloads semanais, mostrando a aplicabilidade prática do conhecimento que o curso oferece.
Conclusão
A paisagem do desenvolvimento React está em constante evolução, com a introdução dos Componentes de Servidor React e a crescente integração com frameworks como o Next.js. Embora essa evolução traga benefícios como otimização de performance e composição across-the-network, ela também levanta questões sobre a complexidade e a centralização do ecossistema. Felizmente, a comunidade oferece alternativas robustas como o React Router v7 com Vite e o TanStack Start, que permitem aos desenvolvedores escolher o caminho que melhor se alinha às suas necessidades e filosofias de projeto. Para se manter atualizado e dominar esses novos paradigmas, recursos educacionais como o REACT.gg se tornam indispensáveis.