Vue.js, eu escolho você!
Tags: vue, javascript, writing
Published: 2021-04-14 04:22:36

De vez em quando alguém me pergunta: "Lucas, qual teu framework para desenvolvimento front end favorito?" e sempre esperam alguma resposta como Angular ou React, mas não, eu (ainda) sempre respondo **Vue.js**. E muitos fazem essa cara aqui:

![what](https://media.giphy.com/media/xL7PDV9frcudO/giphy.gif)

Ainda que o Vue.js tenha crescido nos últimos tempos, ainda não é tão difundido quanto os outros frameworks. No meu círculo social é difícil encontrar algum desenvolvedor que tenha se aventurado nesse mundo, além de que os eventos da comunidade de desenvolvimento estão sempre cheios de React, React, React e um pouco mais de React.

![graph](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rrs5to210egwzy72jic7.png)

*Vue.js é o projeto com mais estrelas no Github dentre os três mais populares. Source: [Star History](https://star-history.t9t.io/#vuejs/vue&angular/angular&facebook/react)*
<br/>

## "Nunca ouvi falar desse tal Vue.js"
> Vue (pronuncia-se /vjuː/, como view, em inglês) é um framework progressivo para a construção de interfaces de usuário.

&nbsp; 
## "É melhor do React?"
Como React é o mais popular no momento, o que não falta são comparações, mas minha intenção não é falar que Vue é melhor do que React ou Angular, até porque eu não acredito nisso. Acredito que cada framework tem seu espaço e momento para ser utilizado e aqui vou mostrar alguns pontos que me fizeram escolhê-lo. 

Entretanto, Vue é parecido com React em alguns aspectos:
utilizam a abordagem de DOM virtual, provêm componentes visuais reativos e combináveis mantêm o foco na biblioteca principal, com preocupações como roteamento e gerenciamento de estado global tratadas por bibliotecas companheiras
<br/>

## "Mas se é igual, por quê tu não usa React?"
Calma, vou listar três motivos que me fizeram escolher o lado verde
<br/>

### Templates
Quando eu fiz meu primeiro componente em React eu pensei: "Que coisa horrorosa. Cadê meu HTML? CSS?". Eu não consegui engolir aquele JSX logo de cara (até hoje sou meio assim com ele).
Isso pode parecer besteira, mas foi uma das coisas que mais me fez gostar do Vue.js. O fato de abraçar as tecnologias web clássicas e construir em cima delas, é fantástico. Utilizar templates HTML parece mais natural para ler e escrever, além de se tornar mais simples para desenvolvedores menos experientes compreenderem o código.

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47aw9v9m9l3ssvew8hlj.png)

### Curva de Aprendizado
Já aconteceu de termos desenvolvedores inexperientes e eu achei que jogar o React logo de cara seria ruim, seria muito impactante. Se a pessoa ainda está aprendendo HTML e CSS, não quero que ela já se depare com JSX. Acredito que o Vue.js escala ascendentemente tão bem quanto o React, mas ele é capaz de reduzir a escala drasticamente também. Tudo o que você precisa saber é HTML, CSS e JavaScript puro para começar.

![noob](https://media1.tenor.com/images/bd82791709b223c47dd18db9124c5ea4/tenor.gif?itemid=5408039)

### Diretivas
Eu sou viúva do AngularJS, confesso! Adoro templates e é claro diretivas. Houve tempos em que passava o dia todo criando diretivas e quando descobri que (ainda) existia isso, foi o que selou o casamento. Componentes e diretivas podem parecer a mesma coisa, mas eles tem uma separação bem clara. Diretivas apenas encapsulam lógica de manipulação do DOM, enquanto componentes são unidades que possuem sua própria lógica de dados e apresentação.

![carbon](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xef6b43r9oqpie0jh26i.png)

## "Então eu devo usar Vue.js?"
Não sei, essa resposta você mesmo que precisa responder. Eu poderia até listar alguns motivos mais técnicos. mas optei por algo mais pessoal, porque no final, todos vão fazer um trabalho excelente se bem utilizado. Muitas vezes não importa se o framework é 50 vezes mais rápido do que o outro, o que vai acabar pesando é a preferência de cada desenvolvedor.
Minha sugestão é: experimentem e não se prendem a nenhuma tecnologia, porque enquanto eu escrevia aqui, mais cinco frameworks JavaScript surgiram :)