La diferencia entre framework vs libreria es a veces difícil de entender sobre todo cuando uno esta empezando. ¿Qué diferencia existe entre un framework vs librería? .Vamos a intentarlo explicar con un ejemplo ajeno a la programación .Supongamos que nosotros queremos cocinar una hamburguesa con patatas. En principio se trata de una operación muy muy sencilla . Necesitamos la hamburguesa , las patatas y si lo queremos hacer rápido un par de sartenes para freir cada una de ellas.
Un programa
Hasta aquí todo es correcto , podemos cocinar nuestra hamburguesa con patatas. Aquí es donde podemos realizar un símil con el concepto de construir un programa, simplemente hemos usado los métodos standard para construirlo y punto. ¿Se puede hacer mejor?… uhmm quizás sí la verdad es que freir la hamburguesa quizás no es lo más sano. La podemos hacer a la plancha y nos quedará mejor y más sana. De igual forma quizás sea más limpio freir las patatas en una freidora con aceite nuevo ya que podemos freír unas cuantas más (estas no sobran nunca).
Framework vs Libreria ( Libreria)
La plancha ademas admite bien hamburguesas cuadradas que están de moda. Ok todo es correcto , podemos usar la plancha y la freidora y mejorar la forma en la que cocinamos la hamburguesa. Este es el concepto de libreria , un conjunto de código que nos facilita la construcción de nuestro programa. Un ejemplo sería jQuery , podemos hacer las cosas algo mejor y con menos esfuerzo.
Framework vs Libreria (Frameworks)
Esta es la forma en la cual la gente pro hace las hamburguesas con patatas en casa , e incluso puede ser la forma en la que un pequeño restaurante las hace. ¿ Ahora bien cómo las hace McDonalds? . Este tema es muy diferente , McDonalds es posible que use hamburguesas congeladas, todas del mismo tamaño y que las cocine por bloques. No solo eso sino que también usara las mismas patatas congeladas todas idénticas o muy similares que freirá en su freidora por packs.
Esto parece en un primer momento que se parece mucho a la solución anterior pero solo que para grandes volúmenes. La realidad es que se parecen en poco . ¿Qué fue de nuestras hamburguesas cuadradas? . Muy sencillo McDonalds las hace solo redondas y punto. ¿Oye y de esas patatas unas más grandes y otras más pequeñas ?. Tampoco existen McDonals nos traen las patatas congeladas y todas son iguales e identicas. ¿Oye que yo quería la hamburguesa muy hecha? . Nada imposible la mega plancha las hace todas a la vez. ¿En qué hemos ganado entonces? .
Frameworks y Restricciones
Pues así visto lo visto parece que hemos perdido ya que estamos más limitados. La realidad es un poco diferentes , hemos perdido en flexibilidad, esa es la clave, el proceso no es tan flexible. Sin embargo hemos ganado en productividad ya que en poco tiempo cocinamos mucho . Para lograrlo se asumen varias limitaciones las hamburguesas solo son de un tipo, igual pasa con las patatas , la freidora y la megaplancha también son muy específicadas. ¿Qué más hemos logrado? Hemos logrado generar homogeneidad ya que todas las hamburguesas en todos los McDonals nos saben igual .
Da lo mismo donde estemos ubicados. Acabamos de generar una “cultura” . Eso es lo que hace un framework , aportar productividad , define limitaciones y genera homogeneidad a la hora de trabajar dentro de una organización . Un ejemplo sería Spring o Angular.
Otros artículos relacionados
- Angular 5 Hello World y su funcionamiento
- React vs Angular 2 , frameworks vs librerias
- El patrón MVC , arquitectura cliente vs servidor
- Framework Wikipedia
Muy buena forma de explicarlo, me ha ayudado muchísimo pues no acababa de entender las diferencias. Gracias por compartir tus conocimientos.
de nada, me alegro que te fuera util 🙂
Buena explicación, ahora a llevarlo a cabo. Gracias.
gracias 🙂
Me diste ganas de comer hamburguesas. !
jaja 🙂 , bueno espero que la explicación te fuera util 😉
Genial manera de explicarlo. Muchas gracias
de nada 🙂