En la actualidad existen una gran cantidad de frameworks que ofrecen al desarrollador front-end las herramientas necesarias para crear su aplicación. Muchas de ellas están sustentadas por gigantes de la tecnología como son: el caso de Angular y Polymer con Google o React con Facebook. Pero existe un caso particular, donde un framework, sin una gran compañía detrás, está dando mucho que hablar desde el año 2016. Efectivamente, hablo de Vue.js el framework creado por “Evan You”, antiguo ingeniero de Google que trabajaba en el proyecto Angular.

Claves del éxito

Performance

La principal característica cuando evaluamos frameworks es la performance, y aquí Vue.js tiene mucho que decir. Gracias a la inclusión de Virtual DOM a partir de la versión 2, su rendimiento es, en determinados casos, mejor que el de sus competidores. Algo que no ha pasado desapercibido para nadie y que ha llevado al framework desarrollado por “Evan you” a ser una posibilidad más en proyectos de cualquier envergadura.

Duration in milliseconds ± standard deviation (Slowdown = Duration / Fastest)

Duration in milliseconds ± standard deviation (Slowdown = Duration / Fastest)

Como se puede observar en la tabla anterior el performace de renderizado es en muchos casos superior al de sus competidores.

Los datos han sido obtenidos del siguiente enlace, una web que te permite comparar diferentes frameworks.

Curva de aprendizaje

Uno de los principales aspectos que se perciben cuando se empieza a trabajar con Vue.js es su curva de aprendizaje. Al contrario que otros frameworks lo único que se necesitan son conocimientos de HTML y ES5 Javascript. No se requieren conocimientos previos de su API ni conceptos complejos de su arquitectura como ocurre con otros frameworks.

Modularidad

Vue.js está principalmente destinado a la capa de vista, esto no significa que no pueda hacer muchas otras cosas, pero su modularización permite que el desarrollador únicamente tenga que aprender lo que le interesa o realmente quiere aprovechar. Esa facilidad en el aprendizaje y en su uso, tiene como consecuencia un código más fácil de leer y, por consiguiente, un código más fácil de mantener.
Esta modularidad también te permite trabajar con otras librerías fácilmente y no tener que adaptarse a las soluciones que te proporciona el framework.

Basado en componentes

Hoy en día es indispensable que un framework javascript ofrezca la capacidad de desarrollar componentes reutilizables. Vue.js te permite trabajar con archivos *.vue que están formados por un template y un script. Una idea simple que permite al desarrollador diferenciar fácilmente la capa de negocio con la capa vista del componente.

Data-binding

Además Vue.js ha desarrollado un sistema de data-binding (mecanismo por el cual podemos enlazar los elementos de la interfaz con el modelo de datos) “one-way-down”, por el cual el paso de propiedades se realiza en una única dirección. Es el componente padre el que actualiza los valores del componente hijo. De esta forma el hijo no puede cambiar las propiedades del componente padre, lo que produciría inestabilidad en la aplicación.

Ligero

Otro aspecto muy importante en Vue.js reside en que es muy ligero y, unido a su gran modularidad, le permite servir como base de arquitectura de un proyecto front o como soporte únicamente para la capa de vista y creación de componentes en proyectos ya muy avanzados.

Aún por mejorar

Donde Vue.js se queda atrás respecto a sus competidores es en las herramientas y en la documentación que proporciona para testing unitario, las cuales no ofrecen tantas posibilidades como las de sus principales competidores y deja en manos del desarrollador trabajo que otros frameworks si proporcionan. Aun así existen herramientas interesantes que permiten realizar testing unitario como Jest.

La comunidad que hay detrás de Vue.js es mucho menor que la comunidad que hay detrás de Angular o React, algo que se hace previsible teniendo en cuenta las dos empresas que los sustentan y esto, en algunas ocasiones, dificulta encontrar información de utilidad.