Ponto de vista - Angular ou React para criar aplicações web?

Olá pessoal, como vocês estão?

Nas minhas aventuras no mundo do desenvolvimento web, tive muitas experiências frustradas, as quais me fizeram evitar criar coisas novas ou atualizar meus conhecimentos sobre tecnologias quentes desse mercado.

Isso aconteceu entre meados de 2016 até meados de 2019, depois que concluí minha especialização em Java.

Naqueles dias, eu usei as tecnologias do Spring para criar a parte de CRUD e para o "frontend", eu usei Java Server Faces (JSF) com a biblioteca Primefaces.

Insiste nesse projeto por 2 anos, pois decidi seguir com ele por ter já iniciado como projeto final da minha graduação e então implementar novas funcionalidades.

Depois disso, fiquei com aversão a programação, com qualquer tecnologia que fosse. Java é uma ótima linguagem, com muitas coisas consolidadas, mas, aquela experiência com Primefaces, fez minha cabeça fugir do Java.

Naquele tempo, eu ainda tinha, porém, um desejo secreto na minha mente: aprender AngularJS. E isso fazia sentido, porque Java e AngularJS eram as tecnologias mais usadas para backend e frontend respectivamente. De qualquer forma, isso permaneceu apenas na minha cabeça.

Os anos se passaram e no meio de 2019, fui introduzido a um novo mundo: a OmniStack. Essa stack incluía JavaScript como linguagem principal para criar serviços com REST API em conjunto com React e React Native para criar frontend's Web e Mobile respectivamente.

Eu me apaixonei por desenvolvimento outra vez, porque, eu podia acreditar naquilo: uma única linguagem para criar tudo que precisava.

Desde então, estudei mais e mais sobre JavaScript e TypeScript também, graças a Rocketseat. Com esse conhecimento, criei alguma aplicações interessantes, aprendi muitas coisas, como por exemplo, colocar em produção uma API REST e uma aplicação React, como usar vários serviços AWS como S3, Amplify, SES e outros mais.

Mas, onde o Angular retornou para minha vida? Bem, em 2021, eu assumi um novo desafio: manter um projeto abandonado que usa o framework Ionic com Angular.

Como costumo dizer: a necessidade faz a oportunidade. Nesse caso, mais do que isso.

E quando olho para esse projeto, a primeira coisa que me vem à cabeça é: onde eu fui parar?

Trabalhando com React, que é uma lib para criar aplicações, tenho a liberdade de decidir coisas como, quais libs usar para fazer chamadas HTTP, ou para fazer o roteamento ou ainda para fazer estilização CSS.

Já o Angular, é um framework, mais baseado no uso de módulos e libs que já estão inclusos dentro das dependências dele. Precisa fazer chamadas HTTP? Basta usar o módulo http. Estilização? Basta escolher entre SCSS, SASS ou CSS na criação do projeto.

Basicamente, são dois lados de um grandioso mundo de bibliotecas e frameworks de frontend para aplicações web.

E, depois de passar 1 ano nesse cenário, você deve imaginar qual a tecnologia é a minha favorita?

E a minha resposta é: a tecnologia que resolve o meu problema. Não me importo se tiver apenas o que tenho dentro de um framework, por exemplo. Se eu puder desenvolver com velocidade e minhas aplicações forem rápidas, fáceis de manter, ótimo! Vou de Angular. Se eu precisar ter a liberdade de decidir quais libs quero usar, em pequenos projetos, não penso duas vezes: minha escolha será React.

Essa é minha escolha definitiva? Não. Porque todos os dias, um novo framework, uma nova biblioteca ou uma nova tecnologia surge.

E no final do dia, apenas uma coisa importa: que o problema foi resolvido.

Se você chegou até aqui, muito obrigado pelo seu tempo!

E por favor, deixe aqui nos comentários sua experiência com desenvolvimento e tecnologias que vieram ou saíram durante a sua carreira.

Até a próxima!

PS: Obrigado ao @filipedeschamps por ter me avisado para traduzir o conteúdo para PT-BR :)

Cezar, muito obrigado pela contribuição! Porém os conteúdos aqui devem ser em português.

Caso queria criar uma publicação onde a fonte é em outra língua, sem problemas, mas aqui o título e corpo devem ser em português. Você se importa em fazer a tradução?

Claro que não meu querido! Daqui a pouco já subo a publicação atualizada :) Obrigado por lembrar!
Post atualizado :) Obrigado mais uma vez

Comecei com angularJS e segui trabalhando com angular, e nunca tive a necessidade ou oportunidade de aprender react, então sigo com o angular até hj, e integrando ele com o firebase fica uma solução ótima e completa para uma aplicação web / mobile :)

Cara, que caminho massa em! Como falei no post, Angular era uma paixão não correspondida. Acredito fortemente que o Angular vai ter muito espaço no mercado, por ser um framework consolidado e que continua evoluindo. Já o React nessas últimas tem trazido coisas muito legais, sendo que próprio Node.js está trazendo muita coisa nova que pode ajudar o React em termos de estabilidade e maturidade. Enfim, quanto mais ferramentas tivermos a nossa disposição, mais formas de resolver problemas vamos poder usar :)

Muito legal ouvir esse ponto de vista, obrigado por compartilhar. Eu estou começando a aprender React. Além do desejo de aprender o Next.js pela ótima performance, eu trabalho muito com WordPress e isso me possiblitará a criação de componentes próprios, etc.

Abs, Eduardo Capella.

Vai fundo Eduardo! Quanto mais tecnologias você souber, mais opções para resolver os teus problemas você vai ter. Inclusive, você sabe que o Wordpress pode trabalhar de forma headless? Isso é muito útil caso você já esteja acostumado com a estrutura do Wordpress, que é bem organizado e queira engatar qualquer outro frontend sem perder tudo que já criou anteriormente. Fica a dica!
Já tinha ouvido falar, desde que a API Rest foi lançada, né? Taí um desafio para eu pôr em prática ao aprender React. Valeu pela dica! Você já fez isso? Sentiu diferença no tempo de carregamento ou o Banco de Dados mysql é um fator limitante de performance?
Então, nunca cheguei a implementar nada nesse sentido, porque não é meu foco de trabalho no dia a dia. Mas, acredito que você deve ter resultados melhores do que usando o Wordpress Full, pois vai ser a API e o banco apenas :) Quanto ao MySQL, existem otimizações que podem ser feitas a nível de configuração que podem deixar ainda mais rápido as operações de leitura e escrita, bem como sugiro uma configuração com pool de conexões e replicas, porém esse é um caso extremo! Sugiro começar entendendo mesmo como funciona essa API e depois ir melhorando as coisas conforme a necessidade \o/
Que legal, vou me informar e pesquisar. Valeu mesmo pelas dicas e informações, grande abraço e sucesso.
Tamo junto meu querido! Sucesso pra ti também!

Cezar, li pra valer agora usa publicação e quero lhe parabenizar pela sua postura e o quão maduro você está com tecnologia. Pude ter o prazer de acompanhar suas últimas conquistas pelas "notícias positivas da semana" e está tudo sensacional 🤝

Valeu Filipe! Acredito que outro fator muitooo determinante, que já tinha até compartilhado contigo foi que na mesma época que comecei a programar novamente, você também tava retornando com o teu canal e isso me injetou um ânimo extra! Agora que as coisas estão se organizando por aqui, quero tentar contribuir com algo no TabNews e colocar a mão na massa :) Tamo junto nessa meu querido!