Una entrada corta para aclarar un par de conceptos que parece que mucha gente confunde: librería (o biblioteca) y framework.
He encontrado en multitud de sitios referencias a jQuery como un framework y esto es un error, jQuery es una librería. Por si tenemos alguna duda, en la própia página de jQuery nos lo aclaran:
What is jQuery?
jQuery is a fast, small, and feature-rich JavaScript library.
Una librería normalmente proporciona una serie de funciones/métodos muy concretos para simplificar tareas complejas. Podemos utilizarlas desde nuestro código respetando el API que proporcionan pero sin necesidad de adaptar/modificar nuestra estructura de aplicación.
Un ejemplo podría ser una librería matemática que ofrezca funciones avanzadas para cálculos estadísticos. JQuery es otro ejemplo, es una librería que proporciona funciones sencillas para manejo del DOM, para comunicación AJAX y algunas otras utilidades.
Un framework aporta una estructura completa en la que nosotros "encajamos" nuestro código, implementando la lógica concreta de la aplicación. Es mucho más que una librería. Impone unas condiciones a nuestra aplicación e incluso puede definir su arquitectura. Es un marco (framework) en el que nosotros vamos a definir piezas. El marco define las reglas del juego a las que nos tenemos que atener.
Un ejemplo serían los frameworks MVC (o MV*). La mayoría definen la forma en que tenemos que estructurar nuestra aplicación y la forma en la que los elementos de esta estructura se comunican. Deberemos crear modulos, modelos, vistas, etc, siguiendo unos patrones concretos y escuchar eventos predefinidos que marcan el flujo global en el que debe integrarse nuestra aplicación.
A veces un framework condiciona sólo una parte de nuestro programa, por ejemplo la parte gráfica en el caso de Bootstrap.
En una librería tu código es el que está al mando y utiliza las funciones de la librería cuando y como quiere. En un framework, éste es el que está al mando y tu código debe encajarse en su estructura y normas.
En cierto modo la diferencia principal es que un framework implica una forma de inversión de control porque nuestro código será invocado por él, que actua como coordinador de la actividad de nuestro programa.
Buena esa.
ResponderEliminarMuy buen articulo
ResponderEliminarexcelente, entendí la diferencia, estaré usándolos porque antes no lo usaba. excelente trabajo.
ResponderEliminarMuy buena explicación, ya entendí. gracias
ResponderEliminargracias por la explicación, me aclaro varias dudas.
ResponderEliminarbuena explicacion
ResponderEliminarmuy bien explicado
ResponderEliminarExcelente............
ResponderEliminarExcelente explicación
ResponderEliminarGracias por la explicación
ResponderEliminargracias le gane a mi jefe en una pelea de iq
ResponderEliminarMuy bien explicado
ResponderEliminarExcelente.
ResponderEliminarExcelente.
ResponderEliminar