Yarn, un nuevo gestor de paquetes JavaScript lanzado por Facebook y Google

4 min lectura
Yarn, un nuevo gestor de paquetes JavaScript lanzado por Facebook y Google
Yarn, un nuevo gestor de paquetes JavaScript lanzado por Facebook y Google

BBVA API Market

Yarn es el nuevo instalador de paquetes JavaScript y gestor de dependencias lanzado por Facebook en colaboración con Google. Introduce cambios en esa gestión de dependencias y en la ejecución de tareas.

Cuando los desarrolladores trabajan con alguna tecnología JavaScript, lo más lógico es que de forma habitual necesiten instalar nuevos paquetes en este lenguaje de programación para lanzar determinados proyectos. Para este tipo de acciones, existen algunos gestores que permiten, con una única línea de comando, la instalación sin problemas de esas librerías. Por ejemplo, npm (Node Package Manager) es el gestor de paquetes JavaScript más utilizado por los desarrolladores que usan Node.js, el entorno en tiempo de ejecución multiplataforma, de código abierto y por la capa del servidor. Node.js es una de las tecnologías que han conseguido llevar el lenguaje JavaScript de la parte del front-end al back-end.

Detrás de estos gestores de paquetes JavaScript está la idea de que los desarrolladores puedan compartir unos con otros millones de pequeñas porciones de código que son reutilizables en distintos proyectos y que evitan que cada programador tenga que perder el tiempo en la codificación de elementos básicos. Con descargar e instalar un paquete o una librería, ese proceso estaría acabado.

Entre los elementos que se incorporan y los que son propios de la programación del desarrollador existen dependencias (de alguna forma todas ellas encajan como las piezas de un motor). Los gestores de paquetes JavaScript son los que liberan al desarrollador de la ardua gestión de esas dependencias entre códigos, y centrarse en lo realmente importante: la creación de productos y servicios fiables.

Yarn, el nuevo jugador dentro del mercado

Frente a npm, posiblemente el gestor de paquetes JavaScript con más tirón dentro de la comunidad de desarrolladores JS, ha surgido alguna alternativa que puede tener cierto recorrido si miramos quiénes son sus padrinos dentro del mercado: Facebook, Google, Exponent y Tilde. La alternativa se llama Yarn y ha despertado mucha atención no sólo por sus creadores, sino también por el cambio de enfoque en la descarga e instalación de los paquetes y en su gestión de las dependencias.

Facebook usó durante años el cliente npm para la instalación y gestión de paquetes JavaScript en su código, pero reconoce que con el aumento del volumen de su código y el crecimiento del número de ingenieros y programadores que participaban en ese código, “los problemas de consistencia, seguridad y rendimiento” también se disparaban en paralelo. Esa fue la razón por la que la compañía de Menlo Park decidió desarrollar su propio gestor de paquetes JavaScript, que permitiera “gestionar nuestras dependencias con mayor fiabilidad”.

Diferencias clave entre npm y Yarn

Entre npm y Yarn existen algunas diferencias importantes que son fruto del trabajo realizado por Facebook y sus socios en este gestor de paquetes JavaScript:

Yarn no funciona así. Este gestor de paquetes JavaScript usa ciertos ficheros de bloqueo que actúan sobre las dependencias instaladas en determinadas versiones del código, de tal forma que garantiza que el node_modules tenga una misma estructura de archivos independientemente del proyecto y los desarrolladores que hayan ido accediendo a la base de programación. Yarn genera cierta unidad en todo el proceso, aunque se produzcan cambios. De todas formas, npm también dispone del comando npm shrinkwrap, que permite bloquear determinadas versiones de los distintos paquetes y sus descendientes dentro del directorio jerárquico node_modules. El problema viene cuando se producen cambios en paquetes que ya no se encuentran dentro de lo que en npm se conoce como versionado semántico (semver).

El proceso de instalación y control que introduce Yarn tiene distintos pasos:

– Resolution: Yarn resuelve las dependencias entre paquetes o librerías JavaScript haciendo solicitudes al registro y revisando cada dependencia que se encuentre ya gestionada dentro del directorio.

– Fletching: después, Yarn revisa el directorio global almacenado en la memoria caché y comprueba que el paquete o librería JavaScript que se quiere descargar no fue instalado con anterioridad. Si Yarn comprueba que no lo tiene, descarga el paquete y lo instala en la caché para evitar instalar y gestionar en el futuro la misma dependencia.

– Linking: el último paso de Yarn es copiar todos los archivos de la memoria caché al node_modules del directorio local para que el desarrollador pueda empezar a trabajar con el paquete JavaScript.

¿Te interesan las APIs financieras? Descubre todas las que te ofrece BBVA

 

 

También podría interesarte