Modelos abertos: ainda não bloqueados
25 de janeiro de 2024Alluxio lança plataforma empresarial para aplicativos generativos de IA
25 de janeiro de 2024Existem poucos bons motivos para não tentar as ações do servidor React e os componentes do servidor React (RSC), argumentou Andrew Clark, engenheiro de software da Vercel, cuja estrutura Next.js suportará ambos.
Por exemplo, se você não estiver executando JavaScript em seu servidor, esse seria um bom motivo para não adotar RSCs, reconheceu ele – embora talvez reconsidere essa escolha, ele brincou.
O React Native ainda não possui uma implementação de componente de servidor, portanto ainda requer métodos tradicionais, acrescentou Clark. Caso contrário: experimente o RSC, sugeriu ele durante um painel de discussão sobre componentes do React Server durante o React Summit US 2023, realizado em Nova Jersey no início deste mês.
As ações do servidor são funções executadas no servidor e podem ser usadas para buscar dados, realizar cálculos ou alterar dados antes de serem enviados ao cliente. Os componentes do React Server são o que o nome diz: componentes do React que são executados no servidor para renderizar conteúdo dinâmico.
Mais simples do que não
“Os RSCs são muito mais simples e pode levar um ou dois anos, ou algum tempo, para convencer todos disso”, disse Clark. “Ações do servidor – eu sei que há alguma controvérsia, mas se você tentar e manter a mente aberta, é muito mais simples do que não usar ações do servidor.”
O RSC é particularmente útil se você estiver usando muitos dados no lado do servidor, de acordo com a palestrante Kathryn Middleton, gerente de meta engenharia da equipe React.
É errado pensar nos RSCs como apropriados para alguns usos e não para outros, sugeriu o palestrante Matt Carroll, um defensor do desenvolvedor Meta na equipe React. Em vez disso, ele aconselhou os desenvolvedores a observarem as restrições individuais de seus projetos. Dito isto, ele concordou que os desenvolvedores que estão começando do zero deveriam adotar os RSCs, porque é mais fácil do que não fazê-lo.
“Se você já tem um aplicativo interno que funciona com o Create React App e não tem problemas com ele, não acho que você precise usar componentes de servidor apenas para usar componentes de servidor”, disse Carroll. “Mas se você estiver enfrentando alguns problemas com tamanhos de pacotes ou alguma latência, fazendo solicitações de rede do cliente que seriam melhor atendidas fazendo essas solicitações do servidor, isso pode ser algo para se observar.”
Josh Comeau, engenheiro de software que dirige o The Joy of React – e talvez a pessoa com menos motivos para promover o RSC – acrescentou que, embora “não haja grande urgência”, o RSC é legal e deve ser considerado se estiver construindo um novo aplicativo hoje.
Em última análise, o uso de RSCs dá aos desenvolvedores mais opções, concordou o painel.
“Reagir, desde sempre, tem sido: você envia tudo para o cliente e se quiser buscar algo, bem, use query, eu acho, porque o efeito de uso é assustador”, disse Benjamin Holmes, desenvolvedor full stack da empresa de framework web Astro. “Não houve realmente uma resposta, pois preciso voltar ao servidor e pegar mais coisas. As ações do servidor são a resposta para obter mais coisas e injetam muito bem nos formulários.”
O RSC oferece algo além de um modelo SPA?
O painel então respondeu às perguntas do público, incluindo se o painel achava que o RSC oferece algo além do que um modelo de aplicativo de página única (SPA) oferece.
“Eu definitivamente quero”, disse Clark.
O modelo mental dos componentes do servidor é mais simples, afirmou Tom Preston-Werner, cofundador do framework fullstack RedwoodJS, que se comprometeu a estar “all in” no React na conferência.
“Se você pensar em alguns tipos de estruturas tradicionais de aplicativos de várias páginas, como Ruby on Rails, etc., é muito fácil pensar em como isso funciona”, disse ele. “Você tem um servidor, busca alguns dados no servidor, produz uma página e entrega HTML ao cliente…. Então você pode colocar um pouco de JavaScript por cima. Os componentes do servidor React permitem que você faça a mesma coisa, mas agora totalmente com o React, escolhendo onde vai o seu limite entre a funcionalidade renderizada pelo servidor e a funcionalidade renderizada pelo cliente.”
É útil até mesmo com aplicativos de página única, concordaram os palestrantes.
“Quando você está começando, se começar com componentes de servidor, poderá construir um aplicativo de página única – mas e se você não começar com (uma) estrutura compatível com componentes de servidor, você não poderá aproveitar o servidor mais tarde, sem ter que fazer uma reescrita muito grosseira”, alertou Carroll.
Existem muitos exemplos de pessoas que criam aplicativos completos do lado do cliente que apenas são implantados em uma construção de rede de entrega de conteúdo (CDN) com uma estrutura de componentes de servidor, disse ele. Se decidirem aproveitar o servidor, será apenas um componente, acrescentou.
“Você pode ter alguma infraestrutura com a qual precisa trabalhar, mas no que diz respeito à migração do lado React, você não precisa fazer nada”, disse Comeau.
RSC realmente significa Next.js?
Ainda é cedo para o RSC e muitos ainda estão explorando como ele se encaixa nas estruturas. Next.js é conhecido por sua experimentação canário com RSC, o que levou um membro da audiência a perguntar ao painel se era um requisito para adoção.
Preston-Werner pegou esse.
“Estamos trabalhando no RedwoodJS e incorporando componentes do servidor React no RedwoodJS como uma estrutura adicional que você pode escolher se quiser escolher os componentes do servidor React”, disse ele.
Carroll da Meta está trabalhando com a equipe Redwood nesse esforço e disse que adoraria ajudar qualquer pessoa que queira construir uma estrutura que aproveite o RSC.
“Estou realmente torcendo por todos esses outros frameworks, então posso parar de ter que responder a essa pergunta”, brincou Clark.
A postagem Painel React: o front-end deve adotar os componentes do React Server apareceu pela primeira vez em The New Stack.