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.
Estructura completa que impone cómo se organiza el proyecto
Herramienta que llamas cuando la necesitas
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.
| Dimensión | Framework | Librería |
|---|---|---|
| Quién llama a quién | El framework llama a tu código | Tu código llama a la librería |
| Estructura del proyecto | La impone | La decides tú |
| Decisiones que tomas | Pocas | Todas |
| Velocidad al empezar | Alta: mucho viene resuelto | Menor: hay que montar el andamiaje |
| Coste de cambiarlo después | Alto: impregna todo | Bajo: se sustituye la pieza |
| Convenciones | Fuertes, y facilitan incorporar gente | Las que tú establezcas |
| Actualizaciones mayores | Migraciones que tocan todo el proyecto | Se actualiza esa pieza y poco más |
| Contratar gente que lo conozca | Más fácil si es popular | Menos relevante |
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.
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.
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.