Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Pós/Contras] - React x Angular x Vue.js

Olá pessoal. Há uma necessidade na empresa onde trabalho, para internalizar (homologar), uma das 3 tecnologias de front-end:

  • React;
  • Angular,
  • Vue.js

Estamos em fase de análise/estudo, provas de conceito sobre estas listadas acima. Porém gostaria de uma opinião crítica sobre cada uma delas, tipo os pós e contras. Já pesquisei sobre isso na internet, e achei várias publicações, tanto no Medium, Quora, entre outros, mas eu percebo que a melhor tecnologia é sempre a opinião particular do autor, a sensação que tenho é que o autor sempre começa escrevendo o artigo, tendendo para uma das 3 tecnologias citadas.

Existem requisitos não funcionais que devem ser levados em consideração para a tomada de decisão ?

Gostaria da opinião dos instrutores sobre o assunto, de preferência a opinião do Flávio Almeida se possível, o Cangaceiro do JavaScript.

Como disse, se possível, listar os pós e contras de cada uma delas.

Obrigado pela atenção.

2 respostas
solução!

React:

  • Vai ser mais fácil de trabalhar em um time que na trabalha com JavaScript;
  • a curva de aprendizado inicial é baixa para quem tem esse perfil;
  • se você planeja fazer reuso de lógicas no react native ou até mesmo componentes é uma boa considerar usar o React;
  • o ponto mais contra no lado do React é ele ser só uma lib, ou seja, é meio que um lego (o que pode ser bom) onde vc escolhe quais as melhores peças para montar o sistema (desde o roteamento até outras coisas mais)
  • Não recomendo colocar um Redux da vida no projeto logo de cara (provavelmente um bom uso da context API pode resolver bem sua vida) e se for usar React tenta promover uma cultura interna de explorar essas libs do ecossistema para o time todo conseguir ter uma base quando for valer a pena ou não usar alguma;
  • possui uma comunidade bem forte;

Vue:

  • Ele parece bem convidativo por ter o conceito de diretivas na view (v-for, v-if) o que inicialmente parece não exigir um conhecimento legal de JavaScript, mas conforme o projeto vai crescendo essa demanda surge também e é um ponto a ser considerado:
  • ele tem coisas nativas e coisas do ecossistema, na prática tem um pouco dos problemas que o Angular e o React tem;
  • vale ressaltar que a CLI do Vue é bem bacana e dá suporte para escrever com o JSX do React;
  • Criar um projeto para uma feature isolada em uma aplicação corrente (com o React também da, com Angular acho meio overkill pela complexidade a mais, mas da também);
  • Na prática eu vejo a comunidade crescendo mas ainda atrás dos outros 2;

Angular:

  • o Angular no começo tem uma curva de aprendizado alta, principalmente se o Dev não tiver conhecimento de OO. A galera que vem do back pro Front acha legal de início pois o Angular possui sistema de injeção de dependências, tipos e diversas outras coisas megas comuns no back e que geram um desconforto inicial para quem não conhece
  • o RxJS é um tópico a ser considerado, da pra trabalhar com o Angular sem saber a fundo, mas é legal pensar que se for usar o Angular o RxJS bem usado deixa o código bem bacana e robusto (em troca de aumentar um pouco a complexidade)
  • o ponto mais pró do angular é que por ser um framework ele já possui tudo nativo e você não precisa pensar, roteamento tem o Angular router, requests http tem o HttpClientModule e assim vai;
  • possui uma comunidade bem forte

No final considered principalmente o conhecimento prévio das pessoas do seu time. Isso vai influenciar bastante o andamento do projeto como um todo e a evolução dos integrantes do time com a tecnologia

Uma dica de ouro é tentar fazer implementações pensando nas core features do projeto pra planejar bem a arquitetura e criar o hábito de pensar em componentes.

Marcando como resolvido, porém não muito satisfeito.