Para este año 2018 tomé una decisión laboral: aprenderé VueJS a fondo y será mi framework durante todo este año. Aparte de aprender, suelo evangelizar sobre lo bien que me ha ido con esa decisión y a menudo me preguntan por qué hice esa elección, siendo que hay más oportunidades laborales con otros o mayor comunidad o asdfgh. Y como me han preguntado varias veces y no quiero volver a escribir todo de nuevo, mejor escribo este artículo y así solo comparto este enlace.
A continuación, los argumentos que me hicieron elegir VueJS por sobre otros competidores actuales:
Nació del aprendizaje de otro framework
VueJS fue creado por Evan You, después de trabajar para Google, usando AngularJS en varios proyectos.
“Me imaginé que podía extraer la parte que realmente me gustaba de Angular y construir algo realmente ligero y rápido”
VueJS es solo vista
Al contrario de varios frameworks aún en uso, VueJS solo se preocupa de crear y manejar datos en la vista; eventualmente puedes tener o no conexión con alguna API y por ello VueJS recomienda y apoya el uso de Axios, librería que conecta el cliente con una API Rest.
VueJS es rápido y liviano
Eso. Según comparaciones con otros frameworks similares, VueJS tiene mejor rendimiento en móviles (SPA, responsive) y uno de los más bajo peso (core).
Web Components, Web Standards
VueJS abraza y aplica los estándares web; permite crear Web Components con sus capas de marcado, presentación y funcionalidad en un mismo archivo .vue (hermoso 😍).
Server-Side Render
NuxtJS es el framework que permite crear Universal VueJS Applications con renderizado del source en el servidor. En ascendente evolución 📈.
Menor curva de aprendizaje
VueJS se siente HTML, CSS y JS. A pesar de poder incluir JSX, Typescript y muchas otras leseras, aprender VueJS es bastante más rápido que otros competidores porque no impone un nuevo paradigma o tener que usar un nuevo lenguaje; los tutoriales y ejemplos se sienten que estás haciendo el mismo front-end de siempre, pero de una forma nueva. Si vienes del ambiente Angular, se te hará muy rápido cambiarte.
One-way data-binding y mutable data
VueJS está hecho para mutar data; si tus datos no van a cambiar mejor no los incluyas en VueJS, desperdiciarás lo mejor de este framework: está siempre esperando que la data cambie y reaccione ante algo, lo que sea que quieras. Y lo hace muy muy muy rápido.
VueJS hace difícil y feo hacer que la data fluya de un componente hijo a un padre; prioriza lo contrario y natural evitando así confusiones en el diseño y manejo de data. Además, VueX es el State Manager que impulsa VueJS y permite manejar datos entre componentes, centralizando y ordenando el manejo de estados.
Muy buena documentación y el mejor CLI que he visto
Le pusieron empeño a la documentación; de verdad es muy buena, completa y tiene muchos ejemplos prácticos que puedes utilizar directo de sus tutoriales. Vue-cli es fantástico, si tienes un error te indica claramente qué es en que línea y muchas veces por qué está malo y cómo solucionarlo.
Tiene a China de su lado 🤝🇨🇳
Evan You -el creador- tiene ascendencia china y muchas empresas de ese país adoptaron VueJS y están creando muuuuuchos módulos; y cuando hablamos de muuchos en China, sí que son muuuuuuuuuuuuuuuuchos.
Es creado y regulado por la comunidad
Al contrario de sus principales competidores, VueJS tiene un roadmap abierto y regulado por la comunidad; tiene licencia MIT lo que tiene bastantes libertades (e importantes restricciones que lo protegen como librería open-source). Al no tener su desarrollo bajo una empresa (si no respaldado por varias empresas) no tiene problemas de conflictos de licencia o decisiones unilaterales de una empresa, por nombrar algunos problemas que suele suceder cuando hay pseudo-monopolio.
Finalmente:
Hago lo que me gusta no lo que me digan que tengo que hacer.
Después de estudiar y comprobar los argumentos anteriores, me siento cómodo creando sitios con VueJS y en cada nuevo proyecto me permite visualizar como han mejorado y como sigo aprendiendo de este fabuloso framework. Cuando me dicen “Usa Angular, usa Preact…” yo respondo: “No gracias, me gusta VueJS”.
¿Y qué me depara para el 2019? Quién sabe, queda mucho aún. mientras tanto, sigo pasándolo bien codeando y evangelizando.