Vue.js: uma boa alternativa ao React?

João Teixeira
MCTW_TDW
Published in
7 min readSep 21, 2022

Resumo: Atualmente existem uma série de frameworks de desenvolvimento front-end, sendo as mais populares React e Angular. No entanto, estas pecam um pouco pela sua complexidade, sendo que será mais difícil e mais lenta a aprendizagem para principiantes nesta área. É aqui que entra o Vue.js uma das frameworks mais simples e flexíveis nos dias de hoje, sendo considerada a terceira melhor. Este permite-nos desenvolver tudo de origem, sendo também eficaz no desenvolvimento de grandes projetos. Será este então uma boa alternativa ao React e outros semelhantes? Será a melhor opção para os principiantes que estão a ingressar nesta área?

O Vue.js é uma Framework de JavaScript direcionado para a construção de interfaces. Um dos pontos fortes desta Framework é o facto de a sua biblioteca principal se focar apenas na camada visual (view layer), sendo que a integração com outros projetos e outras bibliotecas é bastante facilitada. Ao contrário de outras frameworks, o Vue.js foi desenhado desde a sua conceção para ser adotável de forma incremental. Para além disto, o Vue.js foi também projetado para criar Single-Page Applications. Este tópico não é novidade, visto que já existe uma biblioteca de JavaScript dedicada à construção de aplicações ou websites de página única: o React. Mas será o Vue.js uma boa alternativa ao React ou outras parecidas? Será a melhor opção para os principiantes dentro desta área?

Logótipo Vue.js

O Vue.js é uma das frameworks de front-end mais utilizadas nos dias de hoje. É tão poderosa quanto a Angular. No entanto, é muito mais leve e mais flexível. Mas porque é que os web developers utilizam Vue.js? Para começar, esta é uma das frameworks mais simples, visto que usa JavaScript. Assim sendo, qualquer pessoa que tenha conhecimentos básicos de JavaScript, será capaz de desenvolver um projeto utilizando a Framework Vue.js. Mas como tudo, o Vue.js tem os seus pros e os seus contras. Começando por abordar os seus pros, esta framework tem um tamanho muito pequeno, sendo que apenas é necessário um espaço de 18 KB para realizar o download. Para além disto, e em semelhança com o React, é utilizada uma arquitetura baseada em componentes, tornando assim os pequenos pedaços de código de mais fácil leitura. Em contrapartida, o Vue.js apresenta também alguns contras. Por vezes, os dados necessitam de ser achatados, devido ao facto de serem apresentados alguns erros durante a leitura dos mesmos. Para além disto, há também barreira nas linguagens, visto que, inicialmente, o Vue.js foi adotado principalmente pelos chineses, tornando assim mais difícil a adoção para web developers não nativos. Por fim, e como já foi referido anteriormente, o Vue.js é muito flexível e muito mais fácil de utilizar. Assim sendo, é fácil obter códigos que não seguem as regras da programação estruturada, pois dentro de uma empresa podem existir opiniões diversas sobre como realizar as coisas.

Segundo o StackOverflow, tanto a popularidade do Vue.js como do React têm aumentado ao longo dos anos, enquanto a indústria de desenvolvimento de front-end ganha cada vez mais relevância em todo o mundo. De forma a ter uma imagem mais clara, podemos analisar os downloads de npm (Node Package Manager).

Node Package Manager Vue.js e React (https://npm-stat.com/charts.html?package=react&package=vue&from=2014-01-01&to=2020-12-30)

Nesta imagem, e tendo em conta o mês de Dezembro, podemos ver que o React continua a manter a liderança, com uma margem considerável. No entanto, o Vue.js tem crescido lentamente ao longo dos anos.

Contudo, a principal vantagem que o Vue.js tem em relação ao React, está presente nas Github Stars, como podemos confirmar no gráfico abaixo:

Github Stars Vue.js e React (https://old-star-history.t9t.io/#facebook/react&vuejs/vue)

O Vue.js ultrapassou o React em meados de 2019 e, no momento, ainda mantém a liderança. Isto é de facto um sinal de uma comunidade de apoio construída em torno de programadores que utilizam Vue.js, dedicada a impulsioná-lo de forma contínua.

Antes de percebermos se o Vue.js é uma boa alternativa ao React, é também importante explorar um pouco dos pros e contras deste último. O React é flexível e aberto a uma diversa variedade de escolhas. Este não implica nenhuma direção para o desenvolvimento. No entanto, essa abordagem tem algum custo, visto que os web developers necessitam de ter um conhecimento mais aprofundado em JavaScript e ter alguma experiência no desenvolvimento de aplicações de página única. O React apresenta-nos assim vários pros, como por exemplo o uso de uma arquitetura leve, um bom controlo do fluxo de dados e também um renderização client-side rápida. Em contrapartida, apresenta-nos também alguns contras. Um exemplo significativo disso é o facto de a curva de aprendizagem ser um pouco íngreme, levando mais algum tempo a integrar-se no mundo do React. Para além disto, este não funciona sem outras bibliotecas, como por exemplo, o Redux. Por fim, o código pode chegar ao ponto onde não segue as regras da programação estruturada, tornando-se confuso e também cliché.

Após esta pequena exploração dos pros e contras de ambos, irei abordar agora as empresas que devem optar pelo uso do Vue.js ou do React. No que diz respeito ao Vue.js, serão então empresas sem um grande histórico de experiência na utilização de frameworks no processo de construção, ou aquelas que procuram obter um conhecimento bastante aprofundado no uso de JavaScript. Para além destas, serão também empresas que procurem implementar um fluxo único no seu processo de desenvolvimento e, acima de tudo, abordem o mercado de produtos baseados na web. Relativamente ao React, serão startups em fase de estágio inicial que necessitem de um desenvolvimento rápido de recursos e campanhas de validação no mercado. Para além destas, serão empresas que procurem tornar externo o seu desenvolvimento, visto que é mais fácil encontrar um profissional em React do que em Vue.js. De forma a terminar este tópico, irei então abordar as empresas populares que utilizam Vue.js ou React. Relativamente ao Vue.js, temos o exemplo do website da Adobe, uma das empresas mais populares na atualidade, capaz de oferecer um vasto número de programas relacionados com design, vídeo e fotografia ao utilizador. Para além desta, temos também o Behance, GitLab, Nintendo, Louis Vuitton, etc.

Empresas que utilizam Vue.js

No que diz respeito ao React, temos o exemplo da Netflix, a plataforma de streaming mais utilizada na atualidade. Para além desta, temos também as redes sociais mais utilizadas, como o Instagram, Facebook, Twitter e WhatsApp.

Empresas que utilizam React

Mas afinal, qual dos dois é de mais fácil aprendizagem? Segundo um estudo, percebeu-se que a documentação de suporte do Vue.js é muito mais “amigável” para o web developer do que a do React. Para além disto, é muito mais fácil de aprender quando já existe um conhecimento prévio em HTML. Já a documentação do React é mais difícil de ler, o que resultou num aumento de tempo para aprender em comparação com o Vue.js. Concluindo, a estrutura de ambos é muito semelhante. No entanto, Vue.js é um pouco mais fácil de aprender.

Após esta análise, podemos finalmente responder ao foco principal do artigo: será o Vue.js uma boa alternativa ao React? Após um estudo, conseguiu-se perceber que o processo de desenvolvimento em Vue.js demorou cerca de 9 dias (aproximadamente 72 horas), enquanto que em React demorou cerca de 13 dias (aproximadamente 104 horas). E quando devemos usar Vue.js ou React? Como já foi referido anteriormente, o Vue.js tem uma curva de aprendizagem mais fácil, sendo que pode ser utilizado se pretendermos aprender algo de forma mais rápida, para assim terminar o projeto mais cedo. É também mais adequado para projetos mais pequenos do que o React. Já o React, possui uma grande quantidade de pacotes que poderão facilitar o nosso projeto. Para além disto, este supera o Vue.js em projetos que, por natureza, são maiores e mais complexos. Considerando as pesquisas realizadas, concluo que o Vue.js foi um ajuste melhor que React para projetos menos complexos, principalmente porque, com conhecimentos básicos de HTML, é possível começar o desenvolvimento logo após a conclusão dos tutoriais de leitura de toda a documentação necessária. Para além disto, o HTML é muito mais claro quando se trata de comunicação, algo muito importante quando se trabalha em equipa. Por fim, fornece um tutorial que inclui o uso dos pacotes oficiais.

Para concluir, após este estudo consegui perceber que escolher uma Framework para desenvolver um projeto pode ser um desafio, visto que cada um possui diferentes necessidades e recursos. Isto também varia consoante o tamanho do projeto, a sua complexidade e os seus objetivos. Ambas as frameworks possuem as suas próprias especificações, sendo que o nosso background como web developers possui um papel bastante importante nesta decisão, visto que pode influenciar a maneira como lidamos com estas particularidades. Assim, o Vue.js é sim uma excelente alternativa ao React, principalmente se formos principiantes na área.

Referências:

--

--