0%
Inicio 9 Glossary Item 9 Framework
« Back to Glossary Index

Nivel Principiante

Imagina que quieres construir una casa. Puedes empezar desde cero, cortando la madera, mezclando el cemento y diseñando todo tú mismo, lo cual lleva mucho tiempo. Un framework es como si alguien ya hubiera creado el esqueleto de la casa por ti. Te da las paredes, los cimientos y una estructura básica sobre la cual puedes construir y personalizar tu casa de forma mucho más rápida y organizada. En el mundo del software, un framework es una estructura de código que te ayuda a construir aplicaciones de manera eficiente.

Nivel Intermedio

Un framework (marco de trabajo) es una estructura de software que proporciona una base sobre la cual los desarrolladores pueden construir aplicaciones. A diferencia de una simple librería, que es un conjunto de funciones y herramientas que el desarrollador invoca, un framework es una arquitectura completa que dicta la forma en que se debe organizar el código. El framework establece el flujo de control, y el desarrollador rellena los espacios vacíos con su código específico de la aplicación.

Las principales ventajas de usar un framework son:

  • Eficiencia: Acelera el proceso de desarrollo al proporcionar soluciones a problemas comunes.
  • Organización: Impone una estructura de código coherente y mantenible.
  • Comunidad: La mayoría de los frameworks tienen una gran comunidad de desarrolladores, lo que facilita encontrar ayuda y documentación.
  • Seguridad: A menudo incluyen características de seguridad integradas.

Ejemplos comunes de frameworks son React, Angular y Vue.js para el desarrollo frontend y Django y Ruby on Rails para el desarrollo backend.

Nivel Avanzado

Técnicamente, un framework es una abstracción que encapsula un conjunto de reglas y convenciones de diseño de software. Su característica definitoria es el «Principio de Inversión de Control» (IoC). En lugar de que el código de la aplicación llame al código de las librerías, el framework es el que llama al código de la aplicación. Esto se conoce como el «Hollywood Principle»: «Don’t call us, we’ll call you.»

Un framework puede ser más o menos opinado (opinionated). Un framework muy opinado, como Ruby on Rails, establece una estructura rígida y una forma «correcta» de hacer las cosas, lo que acelera el desarrollo pero puede limitar la flexibilidad. Un framework menos opinado, como Express.js, ofrece más libertad, pero requiere que el desarrollador tome más decisiones de diseño.

Los frameworks no solo proporcionan bibliotecas de código, sino que también suelen incluir herramientas para la gestión de dependencias, la configuración, las pruebas y el despliegue. El uso de un framework es una práctica estándar en el desarrollo moderno, ya que fomenta la reutilización de código y la creación de aplicaciones escalables y mantenibles.

« Volver al índice del glosario