Un conjunto de herramientas, componentes o reglas predefinidas que facilitan el desarrollo de aplicaciones, sistemas o soluciones en un área específica, como el desarrollo web o desarrollo de software, la inteligencia artificial, la gestión de proyectos, , entre otros campos.

Características

Estructura predefinida

  • Proporciona una base o esqueleto sobre el cual el equipo de desarrollo puede construir.
  • Esto incluye una organización de carpetas, clases base, patrones de diseño, principios rectores, etc.

Reutilización de código

  • Permite aprovechar funcionalidades ya creadas (como manejo de base de datos, validaciones, protocolos de seguridad, etc.), evitando “reinventar la rueda”.

Inversión de control

  • El framework controla el flujo del programa.
  • En el desarrollo de software, por ejemplo, en lugar de que los desarrolladores llamen a librerías, el framework llama al código del desarrollador cuando lo necesita (esto se conoce como Hollywood Principle: “No nos llames, nosotros te llamamos”).

Estandarización

  • Ayuda a que los proyectos sean más consistentes, legibles y sostenibles.

Ejemplos

Desarrollo web

  • Django (Python)
  • Ruby on Rails (Ruby)
  • Laravel (PHP)
  • Spring (Java)
  • React o Angular (JavaScript – aunque más precisamente son frameworks o librerías del frontend)

Desarrollo móvil

  • Flutter (Dart)
  • React Native (JavaScript)

Machine learning

  • TensorFlow
  • PyTorch

Gestión de proyectos

Sinónimos:
framework