VueJS vs JQuery

El origen de este artículo es oponerse, un poco, a la tendencia que hay ahora de “cambiar JQuery por VueJS”. Sus capacidades y objetivos son diferentes. Y aunque es cierto que es posible dar el salto algunas funciones no estarán, te sentirás obligado a programar en Javascript Vainilla.

El Javascript que se escribía en antaño no es el mismo que se escribe en la actualidad. Y no hablo de las nuevas características de ECMAScript 6 o de sus compatibilidades, sino de sus responsabilidades en la web. Antes todo se generaba en un BackEnd, dando al cliente todo el HTML preparado, empaquetado y listo para verse en el navegador. Pero ahora el diseñador web vive en un mundo híbrido. Una parte nos vendrá dada desde el servidor, pero nosotros terminaremos de dibujar con Javascript (usando APIs).

Aún recuerdo cuando crear un par de animaciones, mostrar algún contenedor oculto, o ir cambiando algún texto cuando se pulsara un botón… era suficiente. Escuchaba hasta aplausos cuando lo enseñaba a mis clientes. Ahora necesitamos comprobar rutas, generar bloques de HTML, consultar de forma asíncrona, ir precargando textos, ser reactivo… todo ello para lograr una navegación más fluida y moderna acorde a los estándares actuales. El visitante se ha acostumbrado a lo bueno.

Al ser una labor más compleja el diseñador web necesita herramientas más poderosas, porque el lenguaje es prácticamente igual y nosotros también. Han nacido y crecido bibliotecas como JQuery, Axios, AnimateCSS, etc. Y Frameworks como Angular, ReactJS, Elm y VueJS. Por ello voy a mostrarte mis conclusiones obtenidas con el trabajo diario. La lista de las ventajas y desventajas de JQuery respecto a un framework como puede ser el popular VueJS. Ambos son para mi viejos amigos que me acompañan en todos mis proyectos haciendo que las labores sean limpias, fáciles y organizadas.

JQuery

Pros

  • Peticiones con AJAX.
  • Animaciones.
  • Instantáneo de utilizar.
  • Transparente y compatible con cualquier web o framework.
  • Miles de plugins disponibles.

Contras

  • Sistema de renderizado pobre.
  • Debes capturar cada nodo que quieras manipular.
  • No es reactivo.
  • Tienes dos versiones oficiales: navegadores modernos y sin soporte.
  • Muchas funcionalidades han quedado obsoletas con el nuevo estandar de Javascript.
  • No esta preparadado para realizar una aplicación compleja con gran carga de FrontEnd.

VueJS

Pros

  • Magnífico sistema de renderizado.
  • Los cambios son reflejados automáticamente en el HTML.
  • Una curva de aprendizaje muy baja.
  • Creación de componentes reutilizables.
  • Fácil de trabajar con no programadores al estar cierta lógica en el HTML.
  • Vue-cli para realizar aplicaciones SPA.
  • Posibilidad de construir Apps para Android y iOS con Weex o NativeScript-Vue.

Contras

  • Necesitas de herramientas externas para realiza tareas como AJAX o enrutamientos.
  • Tiende a desorganizarse. Cuando tu aplicación crece mucho, puedes llegar a no encontrar tu código con tanto HTML y Javascript entrelazado.
  • El ecosistema no para de evolucionar.
  • Solo te ayuda a renderizar, el resto de tareas las tendrás que hacer con Javascript plano o utilizar JQuery.
  • Las animaciones entre transiciones no funcionan tan bien como esperas.

Si crees que me he dejado alguna característica destacable, deja un comentario.