Biblioteca de software
Código ya hecho para una tarea común que se enchufa dentro de otros programas.
Una biblioteca de software (muchos le dicen librería, por el inglés library) es un paquete de código escrito para resolver bien un tipo de problema, así otros programadores no tienen que resolverlo de nuevo. Hay bibliotecas para manejar fechas y husos horarios, dibujar gráficos, achicar imágenes, leer planillas, cifrar datos o hablar con un proveedor de pagos. Sumás la biblioteca a tu proyecto y llamás a sus funciones cuando las necesitás.
El software moderno se arma casi todo así. Una app típica tiene una capa chica de código propio encima de decenas o cientos de bibliotecas, sus dependencias. Cada lenguaje tiene un gestor de paquetes que las descarga con un comando, como pip install en Python o npm install en JavaScript, y muchas de esas bibliotecas son de código abierto.
La comodidad tiene un costo. Cada dependencia es código que escribió y mantiene otra persona, así que un bug o una vulnerabilidad en una biblioteca popular puede afectar a miles de apps a la vez, y una abandonada puede dejar un proyecto trabado. Por eso los equipos anotan las versiones exactas, las actualizan seguido y usan herramientas que avisan de problemas conocidos.
Para quedarse
- Código reutilizable para una tarea puntual, que llamás desde tu programa.
- Se instala con un gestor de paquetes como pip o npm.
- Casi todas las apps dependen de muchas bibliotecas: sus dependencias.
- Una falla en una biblioteca popular puede afectar a muchas apps juntas.
Para seguir leyendo
- Biblioteca (informática) en Wikipedia
- Python Package Index (PyPI), un catálogo público de bibliotecas (en inglés)