Por que VueJS é uma boa opção?
Vue.JS é um nome bem peculiar para uma biblioteca javascript, principalmente para nós brasileiros, o povo do huehuebr. Porém esse é o nome da lib javascript que tem chamado a atenção das comunidades de desenvolvimento nos últimos meses.
O que é Vue.JS?
Vue.JS, VueJS ou simplesmente Vue é uma biblioteca (lib) javascript para o desenvolvimento de componentes reativos para interfaces web modernas (Reactive Components for Modern Web Interfaces).
Nesse momento você pode ser perguntar: O que isso significa?
Componentes
Em resumo são “pedaços de código” que contém marcação, estilo e comportamento (html, css e javascript) e que juntos podem compor interfaces extremamente reaproveitáveis.
Uma das características dos web components é a possibilidade de usar eles como tags html customizadas (custom tags), sendo fácil de usar, ler e entender como uma interface (tela) esta sendo construída.
Atualmente isso é o que há de mais moderno em construção de interfaces com javascript.
Reativo
Infelizmente essa palavra ficou muito “ligada” ao ReactJS, porém essa técnica/característica não é exclusiva do ReactJS. Há outras bibliotecas e frameworks que implementam essa técnica.
http://vuejs.org/guide/reactivity.html
Basicamente é observar um objeto javascript e refletir suas alterações no DOM do html.
Quem já tentou isso com javascript puro ou até mesmo jQuery sabe que não é algo trivial, porém VueJS torna isso extremamente simples.
Moderno
Se você não esteve em uma caverna nos últimos anos já ouviu falar do ReactJS.
Há muitas semelhanças entre VueJS e ReactJS. VueJS compartilha semelhanças com muitas libs e frameworks que permitem criar componentes, isso inclui Angular2, porém pequenos detalhes fazem toda a diferença.
Vale mencionar que VueJS não tem muitas semelhanças com Angular1, nem sendo considerado um concorrente para ele, já que a filosofia do Angular1 é completamente diferente da filosofia do VueJS e até mesmo Angular2.
Como dito anteriormente VueJS possui características que fazem toda a diferença frente a seus concorrentes.
Sintaxe e API claras
Criar componentes com VueJS é muito simples e objetivo. Sua API é intuitiva e simples, seu sistema de template pega o que já estamos acostumados e torna muito simples, previsível e agradável.
O grande destaque esta em como o código javascript é escrito, tudo possui seu lugar de maneira clara. Mesmo ele sendo extremamente flexível os caminhos que a informação e código percorrem são extremamente previsíveis, sendo muito fácil trabalhar em equipe e usar componentes de terceiros.
Flexibilidade
VueJS não é um “ditador”. Ele te deixa livre para fazer uso dele da maneira que melhor convir ao seu projeto.
Isso é uma característica muito importante nos projetos feitos javascript.
VueJS é uma lib javascript e não um framework, então você pode usar ele desde projetos pequenos a projetos maiores e mais complexos.
O fato dele não ser um framework fullstack pode deixar algumas pessoas com receito de usa-lo, porém ele possui um ecossistema de libs complementares muito bom, com destaque para vue-router (rotas spa), vue-resource (http) e vuex (flux para vuejs).
Performance
VueJS possui uma performance excelente, em alguns testes ele se saiu melhor do que o ReactJS (comparing React.js to Vue.js for dynamic tabular data)
E essa performance foi alcançada mesmo sem o VueJS fazer uso de Virtual-DOM como o ReactJS.
VueJS para todos
Uma característica do javascript, e por consequência também do VueJS, é a capacidade de ser utilizado em qualquer tipo de projeto e tecnologia.
Seu projeto pode estar sendo feito em Ruby, PHP, Python, Node, Java, Go ou qualquer outra linguagem, você pode usar VueJS.
Já há projetos usando VueJS com Electron (cloudradioo-app), cordova (Quasar Framework e vue-cordova) e muito mais em awesome-vue.
A curva de aprendizagem é uma das mais curtas. Para começar a usar VueJS basta importar um script via cdn, sem contar com o apoio da comunidade Telegram, Slack e StackOverflow
Futuro
VueJS 2.0 já esta em beta, mas não se assuste. Muitas pessoas se traumatizaram com Angular2, porém VueJS não corre esse risco.
Aqui você tem acesso a todos os recursos que mudaram e as novas funcionalidades.
Se você vem usa angular, leia esta post: Vue.js para desenvolvedores AngularJS
A maior mudança será a implementação do VirtualDOM e o SSR (Server Side Render), com isso VueJS v2 será de 2x a 4x mais rápido que VueJS v1, e a migração será suave. Já há projetos migrando para a versão 2
VueJS é uma ferramenta feita pensando no desenvolvedor, na nossa experiencia de uso.