¿Qué es Framework?
La palabra inglesa "framework" (marco de trabajo) define, en términos
generales, 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 framework o infraestructura digital, es una
estructura conceptual y tecnológica de soporte definido, normalmente con
artefactos o módulos de softwareconcretos, 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.
Con la intención de facilitar el desarrollo de software, permitiendo a
los diseñadores y programadores pasar más tiempo identificando
requerimientos de software que tratando con los tediosos detalles
de bajo nivel de proveer un sistema funcional. Por ejemplo, un
equipo que usa Apache Struts para desarrollar un sitio web de un
banco, puede enfocarse en cómo los retiros de ahorros van a
funcionar en lugar de preocuparse de cómo se controla la
navegación entre las páginas en una forma libre de errores.
Sin embargo, hay quejas comunes acerca de que el uso
deframeworks añade código innecesario y que la preponderancia
de frameworks competitivos y complementarios significa que el
tiempo que se pasaba programando y diseñando ahora se gasta en
aprender a usar los frameworks.
Son diseñados…..
Con la intención de facilitar el desarrollo de software, permitiendo a
los diseñadores y programadores pasar más tiempo identificando
requerimientos de software que tratando con los tediosos detalles
de bajo nivel de proveer un sistema funcional. Por ejemplo, un
equipo que usa Apache Struts para desarrollar un sitio web de un
banco, puede enfocarse en cómo los retiros de ahorros van a
funcionar en lugar de preocuparse de cómo se controla la
navegación entre las páginas en una forma libre de errores.
Sin embargo, hay quejas comunes acerca de que el uso
deframeworks añade código innecesario y que la preponderancia
de frameworks competitivos y complementarios significa que el
tiempo que se pasaba programando y diseñando ahora se gasta en
aprender a usar los frameworks.
Son diseñados…..
Arquitectura
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.
VistaAl 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.
ControladorCon este apartado podemos controlar el acceso (incluso todo) a
nuestra aplicación, y esto puede incluir: archivos, scripts, y/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, sólo debemos controlar
ciertos aspectos (como se ha mencionado antes).
Las principales ventajas de la utilización de un framework son:
1. El desarrollo rápido de aplicaciones. Los componentes incluidos
en un framework constituyen una capa que libera al programador
de la escritura de código de bajo nivel.
2. La reutilización de componentes software al por mayor. Los
frameworks son los paradigmas de la reutilización.
3. El uso y la programación de componentes que siguen una política
de diseño uniforme. Un framework orientado a objetos logra que
los componentes sean clases que pertenezcan a una gran jerarquía
de clases, lo que resulta en bibliotecas más fáciles de aprender a
usar.
Las desventajas de los frameworks son:
1. La dependencia del código fuente de una aplicación con respecto al
framework. Si se desea cambiar de framework, la mayor parte del código
debe reescribirse.
2. La demanda de grandes cantidades de recursos computacionales
debido a que la característica de reutilización de los frameworks tiende a
generalizar la funcionalidad de los componentes. El resultado es que se
incluyen características que están "de más", provocando una sobrecarga
de recursos que se hace más grande en cuanto más amplio es el campo
de reutilización.