Sitemap

Precisa escolher entre Angular 2+ ou React? Talvez isto possa te ajudar 👇

3 min readJun 27, 2018

É frequente a dúvida: usar o já provado e veterano Angular, ou o “recente” e “exótico” React? Ambos têm suas vantagens e desvantagens superficiais, e ambos possuem grandes empresas usando e suportando a comunidade.

Então como decidir o maldito framework certo para você?

Só existe uma maneira de ter certeza de saber qual o melhor para você: programando em ambos

Sim, esta é ou seria a melhor maneira. De maneira geral podemos comparar perfomance, comunidade, popularidade no Github, etc, mas existem diferenças ideológicas profundas entre o React e o Angular. Diferenças que influenciam e impactam em praticamente todos os aspectos da arquitetura do seu código — e você só entende isso se mergulhar a fundo em ambas tecnologias.

Minhas experiências e considerações (IMHO)

React — 👍

A performance de ambos é inquestionável, ainda que o React seja um pouco mais rápido nos testes de benchmarking. Nitidamente a comunidade é mais engajada, para o lado do React, possuindo muitos componentes prontos para serem utilizados, coisa que senti mais dificuldade com o Angular.

Por ser menos engessado, o React também é mais agradável de aprender e desenvolver, além de ser é mais fácil de ensinar e manter, já que o código, no geral, é mais compacto e “componentizado”, sendo mais compreensivo para quem está colocando as mãos no código pela primeira vez.

Não bastando ser mais rápido e mais simples que o Angular, o React possui uma vantagem especial

React — 👎

Por dar extrema liberdade, fica fácil cometer erros que levam a problemas de arquitetura e comprometam a complexidade da aplicação. A solução para isso é pesquisa, estudo e experiência. Lado bom: existe muita documentação na internet, e, no geral, erros que são fáceis de cometer, também são fáceis de reverter.

Angular — 👍

Como muitos desenvolvedores tiveram contato com AngularJS no passado, o Angular continua mantendo seus ideais de MVC (ou MVVM, MV*, etc). Por manter suas raízes, já existem muitos desenvolvedores com experiência e conhecimento no framework, facilitando a transição para a evolução do framework.

Também por ser mais rígido, mantém uma arquitetura bem similar em todos os projetos, criando um padrão fácil a ser seguido — pelo menos em teoria.

Angular — 👎

Apesar de cumprir o que promete e, de fato, as arquiteturas ficarem semelhantes entre diferentes códigos, todos os resultados práticos que já vi foram semelhantes: arquitetura complexa, imperativa, ineficiente, pouco componentizado e, portanto, de dificíl compreensão.

Sim, para quem está “vendo“ o resultado — apenas o front-end — tudo funciona bem e como deveria (ou não 🤔). O problema está no que acontece por “trás das cortinas”.

Nas minhas experiências, tanto em projetos que desenvolvi do zero, quanto nos que peguei em andamento, as coisas ficam maiores e mais complexas do que precisariam, desacelerando o ritmo e piorando a experiência do time de desenvolvimento.

No final, depende de cada projeto e de cada time.

Nunca irá existir uma solução que funcione em todos os cenários possíveis, mas estou convicto que o React é a melhor solução para a maioria dos casos.

É possível aplicá-lo desde um site simples quanto um aplicativo complexo utilizando as ferramentas certas, e é divertido para quem o faz; tornando a experiência de desenvolvimento agradável e rápida.

--

--

No responses yet