Un entorno de trabajo[1]​ (del inglés framework) o marco de trabajo[2]​ es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un entorno de trabajo es una estructura conceptual y tecnológica de asistencia definida, normalmente, con artefactos o módulos concretos de software, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.[3]

Introducción

editar

Los marcos de trabajo tienen como objetivo principal ofrecer una funcionalidad definida, auto contenida, siendo construidos usando patrones de diseño, y su característica principal es su alta cohesión y bajo acoplamiento.

Para acceder a esa funcionalidad, se construyen piezas, objetos, llamados objetos calientes, que vinculan las necesidades del sistema con la funcionalidad que este presta.

Esta funcionalidad, está constituida por objetos llamados fríos, que sufren poco o ningún cambio en la vida del framework, permitiendo la portabilidad entre distintos sistemas.

Algunos entornos de trabajo conocidos son Spring Framework o Hibernate, donde lo esencial para ser denominados entornos de trabajo es estar constituidos por objetos casi estáticos con funcionalidad definida a nivel grupo de objetos y no como parte constitutiva de estos, por ejemplo en sus métodos, en cuyo caso se habla de una API o librería.

Algunas características notables que se pueden observar:

  • La inversión de control: en un framework, a diferencia de las bibliotecas, el flujo de control no es dictado por el programa que llama, sino por el mismo.[3]
  • La funcionalidad o comportamiento predeterminado: un marco tiene un comportamiento predeterminado. Este comportamiento por defecto debe ser un comportamiento útil, definido e identificable.
  • Su escalabilidad: un marco puede ser ampliado para proporcionar una funcionalidad específica. El frame, en general, no se supone que deba ser modificado, excepto en cuanto a extensibilidad. Los usuarios pueden ampliar sus características, pero no deben ni necesitan modificar su código.

Básicos

editar

No es más que una base de programación que atiende a sus descendientes (manejado de una forma estructural o en cascada), posibilitando cualquier respuesta ante las necesidades de sus miembros, o en secciones de una aplicación (web), satisfaciendo así las necesidades más comunes del programador.

Arquitectura

editar

Dentro de este aspecto, podemos basarnos en el modelo-vista-controlador, ya que debemos fragmentar nuestra programación. Tenemos que contemplar estos aspectos básicos en cuanto a la implementación de nuestro sistema:

Modelo
Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de información, su complementación directa.
Vista
Al final, a este miembro de la familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa con el usuario final del programa (GUI). Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información.
Controlador
Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, y esto puede incluir: archivos, scripts, o programas; cualquier tipo de información que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la vez); pues, solo debemos controlar ciertos aspectos (como se ha mencionado antes).

Estructura

editar

Dentro del controlador, modelo o vista, se pueden manejar datos, y depende de cada uno cómo interpretar y manejar esos datos. Se sabe que el único dato de una dirección estática web es: conseguir un archivo físico en el disco duro o de Internet, etc., e interpretado o no, el servidor responde.

El modelo, al igual que el controlador y la vista, maneja todos los datos que se relacionen consigo (solo es el proceso medio de la separación por capas que ofrece la arquitectura MVC). Y solo la vista, puede demostrar dicha información. Con lo cual ya se ha generado la jerarquía del programa: controlador, modelo y vista.

Véase también

editar

Referencias

editar
  1. Oscar, La Red Martínez, David L.; Acosta, Julio César; Mata, Liliana E.; Bachmann, Noemí G.; Vallejos, (1 de enero de 2012). Aprendizaje combinado, aprendizaje electrónico centrado en el alumno y nuevas tecnologías. Consultado el 11 de abril de 2017. 
  2. «Diseño e implementación de un marco de trabajo (framework) de presentación para aplicaciones JEE». Diseño e implementación de un marco de trabajo (framework) de presentación para aplicaciones JEE. 
  3. a b Riehle, Dirk (2000), Framework Design: A Role Modeling Approach, Swiss Federal Institute of Technology .

📚 Artikel Terkait di Wikipedia

Signum Framework

Signum Framework es un framework ORM Open Source creado por una empresa española en C# orientado al desarrollo de aplicaciones sobre la tecnología .Net

.NET Compact Framework

Microsoft. NET Compact Framework (.NET CF) es una versión del .NET Framework que está diseñado para funcionar en Windows CE basado en móviles/dispositivos

Framework de modelado Eclipse

Eclipse Modeling Framework (Framework de modelado Eclipse, EMF) es un framework de modelado y facilidad de generación de código para construir herramientas

Framework para aplicaciones web

Un framework para aplicaciones web es un conjunto de herramientas y bibliotecas diseñado para facilitar el desarrollo de aplicaciones web y servicios

Microsoft .NET

.NET es un framework de Microsoft que hace un énfasis en la transparencia de redes, con independencia de plataforma de hardware y que permite un rápido

Django (framework)

Django es un framework de desarrollo web de código abierto, escrito en Python, que respeta el patrón de diseño conocido como modelo–vista–controlador

Spring Framework

Spring es un framework para el desarrollo de aplicaciones y contenedor de inversión de control, de código abierto para la plataforma Java.​ La primera

ADO.NET Entity Framework

Entity Framework es un framework ORM para la plataforma Microsoft .NET. Es un conjunto de API de acceso a datos para el Microsoft .NET Framework, apuntando