Há 1 ano escolhemos o Vue.js
Em outubro de 2019 escolhemos o Vue como framework padrão para o desenvolvimento front-end na Alice.
Quais eram as opções reais no mercado a um ano atrás?
Existem mais de 20 Front-end JavaScript frameworks listados pelo Github. Porém, estávamos procurando uma solução que supria as seguintes características:
- 💪 Estável e bem estabelecido
- 🌎 Comunidade ativa, equipes utilizando em produção
- 😎 Soluções modernas, em crescimento e atrativa para devs
- 🔧 Ferramentas para desenvolvedores
- ⚡ Performático
- 🎈 Simples e leve
- 👶 Com um curva de aprendizado fácil
- 🎁 Vasto ecossistema de pacotes
Juntando esses parâmetros iniciais, experiência profissional, ajuda do The State of JavaScript e npm trends, filtramos os principais frameworks daquele momento:
Os que supriam todas as características que buscávamos eram React e Vue.js. Então vamos entender um pouco mais as características dessas duas bibliotecas.
Vue ou React?
Ambos compartilham muitas similaridades:
- 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 parceiras;
- Tinham mais de 135k stars no Github ⭐
E quais as principais diferenças que vejo entre os dois:
Vantagens do React
- 🏭 Criado e mantido pelo Facebook
Tem uma grande empresa de tecnologia por trás e que utiliza esse framework. - 👨👨👧👧 Popular
Hoje é o framework mais utilizado no mercado e sendo assim mais fácil de encontrar pessoas com experiência. - 📚 Bibliotecas
Existem muito mais opções de bibliotecas para React.
Mas e as vantagens do Vue
- 👶 Curva de aprendizado fácil
Tem uma excelente documentação e é baseado em HTML, CSS e JS, não depende de um nova sintaxe como JSX, mas permite usar se necessário. - 👄 Estilo e padrões de programação elegantes
Simplicidade é um principio. Com uma API limpa e elegante, valorizando o uso de linguagens já conhecidas, o torna fácil de dar manutenção e é gostoso de escrever código. - 👮🏻♂ Pacotes oficiais
Os principais pacotes do Vue são oficiais, como o Vue Router, Vuex, Vue CLI, Vue Devtools. Eles seguem a mesma filosofia e roadmap para atualizações junto ao core team. E com isso se tornam as opções padrões para a maioria dos projetos.
Levando em consideração o contexto da Alice, escopo de projetos futuros, conhecimento e tamanho da equipe naquele momento, optamos pelo Vue.js
Foi a decisão correta?
Escrever os decisions logs deixam as escolhas muito mais claras, levantando os riscos versus benefícios.
Por 1 ano, fui o único desenvolvedor da Alice especialista em front-end. E teve muito código feito em Vue.js escrito por back-ends e fullstacks, e a vantagem da curva de aprendizado e a api simples do Vue.js, foi um grande diferencial para permitir qualquer engenheiro colocar código de front-end em produção.
Não foi uma barreira para novas contratações, nem em relação a conhecimento prévio ou em relação a alguém se opor a trabalhar com esse framework.
Não sentimos falta de nenhum pacote open source, as opções existentes hoje nos deixaram bem satisfeitos.
O core team do Vue continua bem ativo e trazendo melhorias importantes para a comunidade, inclusive fez recentemente o lançamento do Vue v3. E cada vez mais gente com experiência em Vue e a comunidade em uma constante crescente.
E se fosse para refazer a escolha hoje
Muitas coisas mudaram. O contexto na Alice é outro, lançamos o nosso produto para o mundo, temos usuários reais, o time está crescendo e temos mais especialistas em front-end.
Os frameworks também evoluíram, o Svelte, ganhou popularidade por apresentar um paradigma diferente para renderização, o React hooks trouxe usos bem interessantes e a nova versão do Vue trás novos conceitos e APIs para criação de componentes.
Mas mesmo assim, com tudo na balança, acredito que nossa escolha para a Alice ainda seria o Vue.
Que tal fazer parte desse time?
Estamos buscando pessoas que topem o desafio de transformar a saúde no Brasil através da tecnologia. Clica aqui para saber mais das vagas que temos em aberto!