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 :)