Olá a todos.
Atualmente estou desenvolvendo com Spring e estou gostando bastante. Para o front, escolhi Vue.JS, e hoje um colega disse que Vue mesmo estava morrendo e eu deveria estudar React.
Vue, Angular ou React? O que usam? E por que?
Olá a todos.
Atualmente estou desenvolvendo com Spring e estou gostando bastante. Para o front, escolhi Vue.JS, e hoje um colega disse que Vue mesmo estava morrendo e eu deveria estudar React.
Vue, Angular ou React? O que usam? E por que?
Até este ano a esmagadora maioria do nosso desenvolvimento front-end era baseado em Vue.js, e a principal razão era a simplicidade da solução.
Aí percebemos que no quesito manutenibilidade, conforme o projeto crescia em complexidade ele não nos atendia tão bem (e olha que usamos o Vue.js tanto para Mobile quanto Web): era nítido que faltava alguma coisa.
Foi quando dentre todas as opções resolvemos buscar um framework de verdade (o Vue é uma lib, não um framework), que nos permitisse ter padrões bem definidos que pudéssemos adotar e, com isto, passar a ter uma manutenibilidade maior. De todos eles o que se mostrou melhor foi o Angular pelas seguintes razões:
(no caso, algo que percebemos que sempre nos atrapalhava bastante era a gestão de estado com Vuex, por mais que organizássemos nossos projetos, este sempre voltava para nos atazanar).
Escrevi dois posts sobre isto:
No final usamos hoje o Vue.js apenas para formulários mais complexos em pontos específicos de projetos. Exemplo: aplicações renderizadas do lado servidor (Grails, por exemplo) que possuam estes formulários, e é aplicado apenas ali.
Para este tipo de cenário, é perfeito. Outro cenário seriam alguns relatórios também, mas tirando isto, o custo da manutenibilidade acaba pegando e uma solução como o Angular se mostrou bem mais interessante para o nosso caso.
Comecei com vue no final de 2016, conheci ele da pior forma possível. Através de um freelance frankenstein onde no front eu tinha blade(laravel), jquery, vuejs e angularJS. Mesmo pegando o vuejs em um cenário horrível, achei ele interessante e de uma forma que eu não tinha visto com jquery ou angularjs.
Dai decidi conhecer mais sobre, desenvolvemos uma aplicação na empresa que eu recém tinha começado e como tava aprendendo, fomos fazendo do jeito que a gente achava que era o correto e tal. Conforme foi passando o tempo, percebi o mesmo que o @kicolobo e que tava muito dificil manter aquilo.
Mas ao invés de abandonar fomos rafatorar a solução já existente e hoje lá na antiga empresa quem cuida do sistema consegue entender de forma clara as coisas e o fluxo de dados e criar novos módulos.
Acho fundamental conhecer os novos conceitos de frontend para web, aprender a componentizar as coisas, onde faz sentido componentizar e principalmente saber demais JS.
Hoje continuo trabalhando com vue, mas também trabalho com angular (ionic) e react (principalmente o native). Alguns conceitos são diferentes, mas os conceitos cores são os mesmo. Então você se fundamentar nos conceitos e entender o que cada FW desse faz é essencial, pois assim você fica livre basicamente dos FW e consegue pegar qualquer de forma fácil em pouco tempo.
Sempre que alguém pergunta sobre qual dos 3 usar, recomendo fazer uma prova de conceito com cada um e escolher o que mais agrada + o que tem a melhor curva de aprendizagem.
A não ser que esse seu colega tenha apresentado números que mostrem que Vue está morrendo, não use essa afirmativa como quesito para escolher a tecnologia que usará em seus projetos.
Infelizmente não lembrarei qual a fonte agora (então desconfie do que eu direi e pesquise por conta própria) mas um survey de tecnologia recente mostrou que a dominância do React não é tão grande como se imaginava. Não quer dizer necessariamente que o React perde relevância, revela mais que outras alternativas também têm visibilidade e talvez algo diferente e interessante a acrescentar.
O depoimento do @kicolobo é um bom exemplo de abordagem na avaliação de tecnologias: dado um cenário (aumento de complexidade) e alguns sintomas, você avalia opções de forma objetiva dentro do seu contexto. É quase que o método científico aplicado à programação.
curiosidade: nunca vi usuário de Vue reclamar que nem os de React e Angular das ferramentas que usam, vejo mto mais paixão pelo framework nos usuários de Vue.
Nossa, eu já achei o ferramental do Angular anos luz à frente daquele que via no Vue.