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.