CONCEPTOS BASE

Librería

Conjunto de código ya escrito que resuelve un problema concreto y que tú llamas cuando lo necesitas, sin que imponga cómo organizar tu proyecto.

Nivel · principiante3 min de lecturaActualizado 23 ago 2026
También conocido como: Library, Biblioteca, Paquete, Dependencia

Definición

Una librería es código ya escrito por otra persona que resuelve un problema concreto y que tú incorporas a tu proyecto para no reescribirlo.

La diferencia con un framework es de control: tú llamas a la librería cuando quieres. No te dice cómo organizar carpetas ni cuándo ejecutar nada. Entra, hace su trabajo y se aparta.

Y la diferencia con un SDK: un SDK es el kit que publica un proveedor concreto para hablar con su servicio. Toda librería resuelve un problema; un SDK resuelve el problema de integrarte con alguien.

En el mundo JavaScript se instalan con npm; en PHP con Composer; en Python con pip.

El coste que no se ve

Instalar una librería parece gratis. No lo es, y conviene saber qué firmas:

  • Peso. En el navegador, cada kilobyte se descarga, se interpreta y se ejecuta.
  • Superficie de ataque. Su código corre con los mismos permisos que el tuyo. Si la comprometen, te comprometen.
  • Dependencias transitivas. Instalas una y vienen cuarenta detrás. Cada una con su propio riesgo.
  • Mantenimiento. Si la abandonan, el problema pasa a ser tuyo.
  • Cambios de ruptura. Actualizar deja de ser gratis.

La pregunta antes de instalar no es "¿me ahorra tiempo hoy?" sino "¿me ahorra más tiempo del que me va a costar mantenerla?".

Ejemplo práctico

En esta web hay decisiones en las dos direcciones, y las dos fueron deliberadas.

Sí instalé sharp para redimensionar imágenes, zod para validar el formato de los términos del diccionario y gray-matter para leer las cabeceras de los Markdown. Son problemas resueltos, con casos límite que yo no habría previsto, y las tres están muy mantenidas.

No instalé nada para el gato que camina por el borde inferior de aeworks.tech, ni para el teléfono del asistente, ni para el buscador que compara vectores. Eran unas decenas de líneas de JavaScript y CSS. Meter una librería de animación de 40 KB para mover un dibujo de un lado a otro habría costado más que escribirlo.

El caso que mejor ilustra la decisión: el buscador semántico usa una librería grande, @huggingface/transformers, porque ejecutar un modelo de IA en el navegador no es algo que se escriba en una tarde. Pero esa librería descarga 60 MB desde un servidor de terceros, y eso obligó a declararlo en el aviso legal de la web. Una dependencia puede tener consecuencias que no son técnicas.

Cómo evaluar una antes de instalarla

  • Última publicación. Si lleva dos años sin tocarse, cuidado.
  • Incidencias abiertas frente a cerradas. Si nadie responde, estás solo.
  • Cuántas dependencias arrastra. Mira el árbol completo, no solo la de arriba.
  • Peso real en el paquete final. Herramientas como Bundlephobia te lo dicen antes de instalar.
  • Licencia. La mayoría son permisivas, pero conviene mirarlo si el proyecto es comercial.
  • ¿Cuánto código me ahorra de verdad? Si son treinta líneas que entiendes, escríbelas.

Errores comunes

  • Instalar por costumbre. Muchas utilidades de librerías clásicas ya están en el lenguaje desde hace años.
  • No fijar versiones. Sin un fichero de bloqueo, dos instalaciones del mismo proyecto pueden traer versiones distintas y comportarse distinto.
  • Actualizar todo a la vez. Cuando algo se rompe, no sabes cuál fue.
  • No auditar nunca. Un comando de auditoría de vulnerabilidades cada cierto tiempo evita disgustos.
  • Confundirla con un framework y esperar que lo organice todo. Una librería resuelve un problema, no tu arquitectura.
  • Meter una librería enorme para usar una función. Ocurre constantemente.

Cuándo usarla

cuando el problema es complejo, está bien resuelto y no es tu negocio: criptografía, fechas y zonas horarias, parseo de formatos, procesamiento de imágenes. Escribir tu propia criptografía es de las peores ideas del oficio.

No cuando el problema es pequeño y lo entiendes, cuando el peso importa mucho (una web que tiene que cargar rápido), o cuando la librería está poco mantenida. En esos casos, treinta líneas propias son más baratas a tres años que una dependencia.

Referencias

Tagsprogramacionherramientasdependenciasfundamentos
Escrito por
Antonio Echeverría

Dirijo IMDICA, una empresa de suministro industrial, desde 2007. Escribo estas definiciones desde el lado de quien las usa para decidir, no desde el de quien las estudia.

Si necesitas que alguien construya esto de verdad y no solo lo explique, eso es lo que hago en AE Works.