Vanilla JS, librerías o frameworks

En este artículo vamos a explicar las principales ventajas y desventajas de programar en Vanilla JS, librerías o frameworks en JavaScript. Para ello primero debemos empezar por definir qué es cada uno de estos conceptos:

  • Vanilla JS: Es una broma usada por los creadores de Vanilla JS para referirse a JavaScript puro. Debido a la popularidad de algunas librerías y frameworks, muchos programadores comienzan a programar con ellos sin saber que en realidad están hechos con JavaScript. De modo que crearon el framework Vanilla JS en alusión a que la Vainilla es un sabor puro. De este modo se pretende captar la «moda» de programar con librerías y frameworks usando JavaScript puro (Vanilla JS).
  • Librería JavaScript: Las librerías son un conjunto de funciones standar, programadas con JavaScript puro (Vanilla JS), para que los programadores no tengan que preocuparse mucho en programar ciertos algoritmos. Por ejemplo jQuery es una librería muy conocida que simplifica la gestión del DOM o los eventos del teclado y el ratón con una sola instrucción.
  • FrameWork JavaScript: Como su nombre indica, un framework es un entorno o marco de trabajo, programado para estandarizar conceptos, prácticas y criterios, enfocados sobre un tipo de problemática particular. A su vez, estos Frameworks pueden estar construidos con JavaScript puro (Vanilla JS) o librerías JavaScript.

Explicados estos conceptos, vemos que la base de todo es el lenguaje JavaScript puro y, sobre ello, se programan las librerías y los frameworks. Así que ya podemos empezar a discutir sobre las ventajas y desventajas de programar en Vanilla JS, librerías o frameworks.

Vanilla JS

JavaScript es uno de los lenguajes de programación más populares para el desarrollo web y de aplicaciones. Al desarrollar en JavaScript, tienes la opción de programar en JavaScript puro (Vanilla JS) y/o utilizar librerías y frameworks. Aquí explicaremos las diferencias, ventajas y desventajas de todos ellos.

Diferencias:

  • Sin dependencias externas: Al programar en JavaScript puro (Vanilla JS), no dependes de librerías externas o frameworks adicionales. Todo el código está escrito en JavaScript estándar, lo que significa que tienes un mayor control sobre tu aplicación.
  • Bajo nivel de abstracción: Trabajar con JavaScript puro (Vanilla JS) te obliga a comprender completamente el lenguaje y las APIs nativas de la plataforma. Esto puede brindarte una comprensión más profunda de cómo funciona JavaScript y cómo interactúa con el navegador o el entorno de ejecución.
  • Flexibilidad: La programación en JavaScript puro (Vanilla JS) te brinda una flexibilidad completa para implementar cualquier característica o funcionalidad que desees, sin restricciones impuestas por librerías o frameworks externos.

Ventajas:

  • Rendimiento: En algunas situaciones, el código escrito en JavaScript puro (Vanilla JS) puede ser más rápido y eficiente que el código que utiliza librerías o frameworks externos. Esto se debe a que no hay capas adicionales de abstracción entre tu código y el navegador o entorno de ejecución.
  • Control total: Tienes control total sobre tu código y no estás limitado por las decisiones de diseño de una librería o framework en particular. Esto puede ser beneficioso si tienes requisitos específicos o necesitas optimizar el rendimiento de tu aplicación.

Desventajas:

  • Curva de aprendizaje: Es posible que la programación en JavaScript puro (Vanilla JS) requiera un mayor nivel de experiencia y conocimiento del lenguaje en comparación con el uso de librerías o frameworks externos. Esto puede resultar en una curva de aprendizaje más pronunciada para los desarrolladores menos experimentados.
  • Reinventar la rueda: Al programar en JavaScript puro (Vanilla JS), es posible que tengas que implementar soluciones para problemas comunes que ya están resueltos por librerías o frameworks externos. Esto puede llevar más tiempo y esfuerzo en comparación con el uso de bibliotecas existentes.

Librerías o frameworks

Diferencias:

  • Abstracción de funcionalidades: Utilizar librerías y frameworks te permite aprovechar funcionalidades predefinidas y abstracciones de alto nivel. Esto puede simplificar el desarrollo de aplicaciones al proporcionar soluciones listas para usar para problemas comunes.
  • Mayor productividad: Las librerías o frameworks externas pueden acelerar el proceso de desarrollo al proporcionar componentes y herramientas reutilizables que permiten construir aplicaciones de manera más rápida y eficiente que en Vanilla JS.
  • Comunidad y soporte: Las librerías y frameworks populares suelen tener una gran comunidad de desarrolladores que contribuyen con código, ofrecen soporte y comparten recursos como tutoriales y documentación.

Ventajas:

  • Rapidez de desarrollo: Utilizar librería o frameworks puede acelerar el desarrollo al proporcionar soluciones listas para usar y reducir la cantidad de código que necesitas escribir manualmente. Esto puede ser especialmente beneficioso en proyectos con plazos ajustados.
  • Compatibilidad y estándares: Las librerías y frameworks externos suelen estar bien probadas y optimizadas para funcionar en una variedad de navegadores y entornos. Esto puede ayudar a garantizar una mayor compatibilidad y estabilidad en tu aplicación.

Desventajas:

  • Dependencias externas: Al utilizar librerías y frameworks externos, tu aplicación puede depender de la disponibilidad y el mantenimiento continuo de esas bibliotecas. Si una librería o framework deja de ser compatible o es descontinuada, puede requerir una migración a otra solución.
  • Sobrecarga y abstracción excesiva: Algunas librerías y frameworks pueden introducir una sobrecarga adicional y una abstracción excesiva que puede afectar el rendimiento de tu aplicación. Es importante evaluar cuidadosamente las dependencias y seleccionar bibliotecas que se adapten bien a tus necesidades y requisitos de rendimiento.

Vanilla JS, librerías o frameworks

En conclusión, la elección entre programar en Vanilla JS, librerías o frameworks depende de varios factores, incluyendo tus habilidades, requisitos de proyecto y preferencias personales. Ambas elecciones tienen sus propias ventajas y desventajas, y es importante evaluar cuidadosamente cuál es la mejor opción para tu caso particular.

A nivel personal, me decanto por Vanilla JS y, de forma excepcional, utilizo algunas librerías o frameworks para casos concretos. Por ejemplo, he utilizado la librería Lightbox, que a su vez se apoya en la librería jQuery. Es una forma muy sencilla de crear un carrusel de imágenes, pero implica añadir bastante código externo y desconocido a tu aplicación.

¡ Espero que este artículo sea de vuestro interés !

Deja un comentario