COMPARATIVA

Framework vs Librería

La distinción se resume en quién manda. Y aunque suene académica, determina cuánto vas a poder cambiar de opinión más adelante.

LA DIFERENCIA

A una librería la llamas tú: la usas donde quieres y el resto del proyecto lo organizas como te parece. Un framework te llama a él: define la estructura, el ciclo de vida y los sitios donde puedes poner tu código. Es lo que se llama inversión de control, y el intercambio es siempre el mismo — menos decisiones que tomar a cambio de menos libertad para cambiarlas.

CARA A CARA
Comparación entre Framework y Librería
DimensiónFrameworkLibrería
Quién llama a quiénEl framework llama a tu códigoTu código llama a la librería
Estructura del proyectoLa imponeLa decides tú
Decisiones que tomasPocasTodas
Velocidad al empezarAlta: mucho viene resueltoMenor: hay que montar el andamiaje
Coste de cambiarlo despuésAlto: impregna todoBajo: se sustituye la pieza
ConvencionesFuertes, y facilitan incorporar genteLas que tú establezcas
Actualizaciones mayoresMigraciones que tocan todo el proyectoSe actualiza esa pieza y poco más
Contratar gente que lo conozcaMás fácil si es popularMenos relevante
Cuándo Framework

Cuando el proyecto es convencional y quieres ir rápido sin discutir cada decisión, o cuando va a pasar por varias manos: las convenciones compartidas valen mucho más de lo que parece.

Cuándo Librería

Cuando el proyecto tiene requisitos que no encajan en ningún molde, o cuando quieres mantener abierta la posibilidad de sustituir piezas sin reescribirlo todo.

El error que se comete

Elegir framework por popularidad sin mirar el coste de salida. Un framework se mete en la forma de todo el proyecto, así que cambiarlo dos años después no es sustituir una dependencia: es reescribir. La pregunta antes de adoptarlo no es si es bueno, es qué pasa si dentro de tres años deja de mantenerse. Y ojo con la frontera: muchas herramientas se presentan como librerías y se comportan como frameworks en cuanto las adoptas de verdad. El indicador fiable no es cómo se llaman, es si puedes quitarlas de un módulo sin tocar el resto.