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

A sua crítica é, em parte, válida. O problema é que é, em grande parte, inválida. Então caímos em duas situações:

  1. O leitor entende bem o assunto, mas não sabe o que da sua crítica é por falta de conhecimento ou por humor.
  2. O leitor não entende o assunto, e vai interpretar que React realmente é um absurdo e Angular é um milagre.

Então, por exemplo:

  1. npx create-react-app: O create-react-app tem um aviso grande no repositório de que está obsoleto (deprecated) desde 2021 e recomenda seguir a documentação oficial.
  2. Instala react-router-dom: Se seguir a documentação, pode usar npx create-react-router@latest. Sim, você ainda está instalando coisas, mas no Angular também são instaladas, talvez só não fique tão aparente.
  3. Instala axios: O fetch do navegador já não faz tudo o que você precisa?
  4. Instala eslint + prettier: Útil para qualquer projeto JavaScript, não tem nada a ver com React.
  5. Instala styled-components ou tailwind: Também não tem nada a ver com React. Eu mesmo nunca instalei esses pacotes.
  6. Instala react-hook-form ou formik: Se o projeto for mais complexo, as bibliotecas ajudam, mas não são necessárias para projetos simples (o TabNews, por exemplo, não usa).
  7. Instala yup pra validação: Também não tem nada a ver com React. Novamente, eu mesmo não uso yup, zod etc. para validações no frontend.
  8. Instala zustand, redux ou qualquer estado global porque o useState já não serve: Provavelmente você deveria usar um contexto. Novamente, eu não uso essas bibliotecas que você mencionou.

Eu poderia continuar ponto a ponto, mas vê que praticamente nada tem a ver com React? Ou tem, mas é desconhecimento seu sobre qual a forma certa de fazer. Se vai usar Tailwind com React, por que não usaria no Angular? Se vai usar linters com React, por que não com Angular? Se vai instalar uma biblioteca de ícones ao invés de apenas copiar/criar os ícones que precisa, por que não faria isso com Angular?

E os benefícios do Angular se resumem a... scripts que geram os arquivos? Ele tem tanto boilerplate assim que você não pode só criar um arquivo e fazer export const Componente () => <p>Componente</p>? E precisa de model, guard, interceptor e service só para uma autenticação simples?

Não conheço Angular, só usei um pouco em 2019 para aprender como era e na época já era mais complicado que o React (que eu também estava aprendendo na época).

Entendo que sua crítica sobre o React, em grande parte, não faz sentido. Infelizmente, não posso fazer afirmação sobre o Angular porque não o conheço bem como conheço o React, e a forma que você listou os benefícios do Angular me faz parecer que preciso fazer muitas coisas para algo simples funcionar, e que um dos pontos positivos dele é ter páginas separadas por pastas (que você pode ter em qualquer tipo de projeto).

Além disso, comparar o React com Angular nessa forma ampla não faz tanto sentido, visto que o React se diz uma biblioteca e deixa o desenvolvedor decidir como fará as coisas. Provavelmente faria mais sentido comparar com um framework, como Next ou agora o React Router, visto que frameworks são "opinados" (opinionated) e resolvem várias coisas sem o desenvolvedor precisar pensar sobre.

Se quiser comparar o React com o Angular, precisaria se restringir ao funcionamento dos componentes e outras similaridades deles.

Carregando publicação patrocinada...
1

Isso provavelmente porque, você não leu o conteúdo até o final.
O titulo diz: Configurar um repositório React é muito trabalhoso. A comparação é sobre configurar o repositório, não sobre usar a tecnologia.

Vamos aos itens:

  1. Beleza, bacana que mudou a forma de iniciar um projeto.
  2. Sim, quando você seleciona que quer usar rotas, o angular instala o "@angular/router".
  3. O fetch do navegador é confuso e dificil de usar. Se você optar não instalar um cliente http, vai ter que repetir código sempre que for fazer uma chamada http ou vai ter que criar o proprio cliente http (uma classe ou função se precisar ser simples).
  4. Pode ser instalado com o CLI do Angular, ele se configura sozinho.
  5. Se você leu, também citei lib de UI no Angular.
  6. okay, tudo certo.
  7. Novamente vai precisar repetir código ou criar o propio validador.
  8. Contexto é limitado e difícil de usar. E tudo bem usar.

Eu poderia continuar ponto a ponto, mas vê que praticamente nada tem a ver com React?

Claro, porque eu nunca disse que o problema é o React.

Ele tem tanto boilerplate assim que você não pode só criar um arquivo e fazer export const Componente () => <p>Componente</p>?

Não, você pode sim criar uma pasta, 3 arquivos (4 se tiver testes) e escrever o seu html, css e javascript. Mas se o framework te da um recurso (que você pode configurar), porque não usar? E se for um componente simples? Você pode declarar tudo no mesmo arquivo se quiser também. (veja você mesmo https://component-party.dev/#templating.minimal-template)

E precisa de model, guard, interceptor e service só para uma autenticação simples?

Sim, é questão arquitetural. Você pode meter tudo em um arquivo só se quiser, mas se o framework de dá um recurso pra isolar responsabilidade, porque não usar?
Ou você está dizendo, que devo em toda chamada http, repetir código pra inserir um bearer token? Vai fazer o redirect se não tiver autenticado ao iniciar um componente? Em todos eles? Em cada roda eu tenho que repetir código? E vai fazer as regras dentro do componente? Não vai isolar a responsabilidade? Mesmo em códigos react, você precisa de uma service pra separar responsabilidade, isso é básico.

Provavelmente faria mais sentido comparar com um framework, como Next ou agora o React Router, visto que frameworks são "opinados" (opinionated) e resolvem várias coisas sem o desenvolvedor precisar pensar sobre.

E a mesma coisa, muda que ele tem algumas features nativas, mas configurar o repositório, mesmo que tenha umas coisas que já vem prontas, ainda é mais complicado que o Angular. E não só o Angular, ele foi apenas o que usei como exemplo.