Cara, gostei muito do seu post. Eu ainda sou iniciante e estou estudando o front-end, mas inevitavelmente tive essa mesma impressão que tudo parece ser mais complexo do que realmente deveria ser.

Quando comecei aprender React, na minha ignorânica, eu me perguntava: Pra quê aprender isso? Qual problema isso resolve? Não era melhor utilizar apenas HTML, CSS, JS?

Hoje eu entendo sobre essa questão de componentização (e etc...) que justifica o uso de uma biblioteca como o React. Porém, a cada nova lib/framework que você decide acoplar, mais problemas surgem em decorrência dessa escolha. E é aí que tudo começa a ficar mais complexo do que realmente deveria.

Tenho notado a ascensão do Astro, e acredito que muitos o aderirão dentro dos próximos anos, incluse eu.

Resumindo, parabéns pelo seu post! Acredito que uma frase que resuma muito bem esse assunto é a do artista Leonard Thiessen:

"A simplicidade é o último grau de sofisticação".

Ahhh que comentário bacana! Você mesmo nessa fase de aprendizado inicial já consegue perceber significa pra mim que já tem um olhar mais crítico e tem um ótimo potencial pra ser um programador agnostico. Parabéns.

Eu uso essa frase inclusive na home do meu projeto de componente Js! Só que achava que era do Leonardo Da Vinci, agora não tenho certeza.

Gabriel, concordo com o que você disse, acho que vão ter bibliotecas que talvez resolvam o seu problema de UI com relação à interação do usuario e atualizaçao do html, e voce poderia fazer isso apenas em partes da sua aplicação.

Dessa forma, se o seu site foi feito no magento, wordpress, ruby on rails, laravel, o que for, voce ainda teria um front-end bem organizado utilizando dessas libs para fazer a componentização. Mesmo no mundo node, voce tem template systems pra rodar no servidor: como o pug, nunjucks, handlebars, mustache etc.

Essa é uma maneira de separar a renderização via server side, e as funcionalidades no client, utilizando de tecnicas de componentização que aprendemos com os frameworks e hoje podem ser feitas inclusive sem bibliotecas, utilizando os bundlers pra pegar os arquivos das pastas dos componentes.

React, Angular, Vue, Svelte, Solid e outros, acabam se tornando muito mais Frameworks do que bibliotecas pra mim, pq uma vez que escolhe esse caminho, voce fica preso ao ecossistema... o escopo de uma biblioteca pra mim deveria ser muito menor, então não considero nenhuma destas bibliotecas mais...

Talvez surjam algumas alternativas pra trabalharmos com web components, como o Lit por exemplo, trabalhando na arquitetura Islands.

Obrigado pelo feedback, muito sucesso na sua tragetória!