Executando verificação de segurança...
1

[DÚVIDA] - Como integrar React com beck-end

Pelo que pesquisei o React na sua versão mais recente já consegue interagir com banco de dados, mas gostaria de saber se tem algum framework ou linguagem ideal para esse tipo de trabalho.

O Next seria um framework mais focado no desenvolvimento front-end, por isso surgiu a dúvida de qual a melhor, ou a tecnologia mais utilizada no mercado para fazer o beck-end de um projeto em React.

Carregando publicação patrocinada...
2

O Next seria um framework mais focado no desenvolvimento front-end

Não é bem assim! Next.js é um framework full-stack. Com ele é possível criar aplicações simples e completas. Quando eu digo simples, isso engloba bastante coisa!

Pelo que pesquisei o React na sua versão mais recente já consegue interagir com banco de dados.

Rapaz, onde você viu isso? O único banco de dados que um Front-end consegue acessar por completo é o IndexedDB que é uma API para armazenamento no lado do cliente. Desconheço alternativas. O que é um Front-end consegue fazer é fazer um request usando fetch ou alguma outra solução (que utiliza fetch por debaixo do capô ou uma forma mais antiga de fazer requests). Uma vez que o request é feito para um endpoint no back-end, terá todo um processo de CORS, cookies (se aplicavél), toda a lógica do back-end para tratar isso, dentre outras coisas. E não precisa de React para isso.

por isso surgiu a dúvida de qual a melhor, ou a tecnologia mais utilizada no mercado para fazer o beck-end de um projeto em React.

Sempre depende do teu projeto. Express.js é muito utilizado independentemente de ser feito com React ou não. O Back-end nem precisa ser sequer escrito em JavaScript, muita gente gosta de Rest e Golang (uma linguagem mais recente do google). Porém, há pessoas que preferem trabalhar com algo que conhecem e optar por um back-end mais "amigável" (como eu).

É sempre bom considerar o que é necessário para você. Se prefere um back-end com JavaScript, Express.js resolve a maioria dos problemas, mas existem outras soluções também, é importante considerar.

Sobre o banco de dados, este é ainda mais complexo, dado uma alternativa enorme que existe por ai. Se for algo simples, um SQLite funciona bem (ou até em projetos complexos para armazenamento local e depois sincronizar na nuvem). Porém empresas devem utilizar o MongoDB, que é uma solução muito bem feita, além de Redis e outras tecnologias que são relacionadas a banco de dados como Prisma ou até um ORM se for de escolha, como o Sequelize. Imagino que as perguntas aqui é algo a longo prazo e recursos financeiros. MongoDB é ideal para escalar horizontalmente, mas pode custar bastante(ainda mais se não tiver experiência em otimização de requests). Além disso, da para baixar o MongoDB Community não gerenciado e configurar você mesmo na sua máquina (leia os termos de uso!).

Então resumindo: Next.js é um framework full-stack que permite reduzir (ou extinguir dependendo) a necessidade de um back-end separado. Se quiser algo focado em Front-end mesmo, aprenda Vue.js + Nuxt.js, que é algo mais leve e performático, caso não vá extrair tudo do Next.js.

Express.js resolve a maioria dos problemas, mas não todos. Nest.js tem uma solução bem robusta também. É importante estudar o seu projeto e entender as necessidades dele. Com base nisso procurar alternativas se necessário. Também é possível utilizar outra linguagem para o back-end.

Pelo que pesquisei o React na sua versão mais recente já consegue interagir com banco de dados

Fiquei curioso. Gostaria do link da fonte (é uma pergunta genuína). A única forma que eu conheço é fazendo requests para o back-end que por sua vez tem outros processos até chegar no banco de dados.

Vale salientar que isto é apenas a minha opinião. Infelizmente nem todos entendem isso e levam como verdade absoluta, porém, eu também posso estar errado e ter aprendido e praticado o erro. Espero que eu tenha ajudado de alguma forma.

1

Show se bola, ajudou bastante. Estou estudando e confundi React com Next. Como nunca mexi com um framework é bastante coisa para aprender, por exemplo:

Inicialmente fiquei na dúvida se valia mais apenas estudar Next.js ou NestJS, visto que o framework seria para ajudar no desenvolvimento de um projeto que será feito apenas o front-end na faculdade.

Levando em conta tudo que pesquisei e o que foi dito, se o foco é front-end, e pensado em versatilidade o Next funciona muito bem.

Pode ficar a vontade para da a sua opinião. Valeu!

1

Levando em conta tudo que pesquisei e o que foi dito, se o foco é front-end, e pensado em versatilidade o Next funciona muito bem.

Se é para estudo, realmente funciona bem. Agora algo mais empresarial, é uma decisão que deve ser feito com muito cuidado. A menos que vá extrair bem o potencial do Next.js, outras opção são mais interessantes. Isto porquê quando tu baixa o Next.js, vem com todas as features dele, inclusive as que você não usa, aumentando o tamanho do pacote final. Porém serve sim apenas para Front-end, se otimização não for um fator chave para a sua situação.

Eu recomendo entender bem o que é React. Ele é diferente de outros por ai. Inclusive, a própria Meta indica utilizar React com algum framework, pois é um biblioteca vazia. Quando eu digo vazia, digo que você vai precisar instalar bastante coisas, como React Router, Radix/Tailwindcss, dentre outras coisas para ter uma experiência completa. Porém, mesmo assim, React desempenha muito por motivos mais técnicos (Virtualização de DOM, e etc...)

Mas enfim, eu gosto de usar Next.js para a maioria das coisas, mas sei que não é o ideal(justamente por usar). Então eu consideraria Astro que permite utilizar React e é dado como o framework mais performático atualmente por causa do sistema de "ilhas".

Pode parecer que estou te bombardeado com muito informação! Mas é assim mesmo na área de programação. É importante tomar decisões acertadas.Pequenos erros podem se perpertuar por toda a eternidade de algo, como o null do JavaScript que sequer deveria existir.

A dica é: Considere outras tecnologias também. Não vá no efeito manada não. Eu fui e me arrependo. Uma vez que decidir, dê o seu melhor!

1

back end*, sendo bem objetivo à sua dúvida, react/nextjs são frameworks frontend (ou fullstack no caso do next) que sao agnósticos ao back end, mesmo o next que possui seu próprio back end integrado (usando JS) é agnóstico ao back aceitando qualquer linguagem ou framework no back, ja utilizei node (express), PHP, Go e hoje minha stack tem sido: NextJS, Rust (Axum + SQLX), PostgreSQL e MongoDB (cache). Tbm tenho utilizando Go em alguns serviços que precisam conversar com servicos SOAP do Governo.