WhatsApp Facebook Twitter LinkedIn Mail

Framework de software

Índice:

  1. ¿Qué es?
  2. Diferencia entre librerías y frameworks
  3. Ventajas y desventajas

¿Qué es un framework de software?

Un framework, también conocido como entorno o marco de trabajo, es un código de software ya desarrollado que proporciona estructura y funcionalidades para el desarrollo de un software mayor. El framework se usa como base a la hora de desarrollar un software de mayor tamaño. De esta forma, el código base del software ya está desarrollado y los desarrolladores se pueden centrar en crear código y funcionalidades de mayor peso.

Una analogía de un framework puede verse en el caso de una empresa que quiere empezar a producir post-its. Para ello han decidido que el tamaño de cada post-it será de 4x3cm. Entonces, medirán un folio y lo cortarán. Luego, usarán ese papel cortado como molde en vez de medir folio por folio. Pues eso mismo, hace un framework. En lugar de realizar el mismo tipo de tarea una y otra vez para el mismo tipo de aplicaciones, un framework proporciona una forma de trabajo y las funciones para que la aplicación pueda operar.

La mayoría de los frameworks usan una estructura conocida como arquitectura MVC (Model-View-Controller). Esta arquitectura separa los componentes de una aplicación en 3 grupos distintos: modelo, vista y controlador.

La capa modelo es donde se encuentran los datos de dominio. Por ello, la capa modelo es la que se encarga de manipular los datos, almacenando la información del sistema que está usando.

La capa vista es la responsable de generar la interfaz de la aplicación (pantallas, páginas, etc.). Se puede comprender la capa vista como la forma en la que se presentan los datos (cómo se ven).

Por último, también está la capa controladora. Esta capa actúa como intermediario entre el usuario y la capa modelo, así como entre el modelo y la vista. De esta forma, cuando el usuario interactúa con el sistema, el controlador consulta o actualiza la capa modelo para mostrarle la vista adecuada.

estructura modelo vista controlador

Estos frameworks son desarrollados y testeados por varios desarrolladores, lo cual hace que sea seguro. Además, como son una base, los desarrolladores ahorran tiempo. Sólo tienen que incluir/desarrollar la información que todavía no contiene. Esto es parecido a cuando se construye un edificio: se da una estructura, pero las paredes y las puertas las tiene que pintar el inquilino con el color que desee.

Una empresa famosa que ha hecho uso de un framework es Youtube. Esta empresa combina el framework Django con el lenguaje de programación Python. Esto facilita el almacenamiento de datos de vídeos, etiquetas, categorías, comentarios, entre otros procesos.

¿Cuál es la relación entre las librerías y los frameworks?

Es muy común que se confundan las librerías de software con frameworks. Esto se debe a que las librerías también son un conjunto de código que facilita el desarrollo de un programa. Sin embargo, aunque aportan funcionalidades, las librerías no aportan una estructura. Un ejemplo de librería sería la fstream. Esta librería permite gestionar los flujos de entrada y salida de documentos desde ficheros y manipular archivos (permitiendo tanto leer como escribir en ellos).

Volviendo al ejemplo de los post-its, una librería proporcionaría la función de medir y se necesitaría otra para la función de cortar. Sin embargo, como no hay estructura (porque no hay framework), no se haría en un orden establecido. Además, se tendría que hacer papel por papel.

Por ello, muchas veces, los frameworks contienen librerías. Ya que se puede tener una estructura base con distintas funcionalidades. Por ejemplo, Microsoft tiene la librería jQuery dentro de su Visual Studio, para que se pueda usar con los frameworks ASP.NET AJAX y ASP.NET MVC.

Muchas empresas de todo tipo usan frameworks para el desarrollo de aplicaciones. Por ejemplo, las productoras de películas Lucas Film y Next Limit Technologies desarrollan aplicaciones de efectos visuales y animación de alta gama con el framework Qt para producir películas. Estas productoras aprovechan la biblioteca Qt class para obtener un amplio conjunto de elementos básicos necesarios para crear interfaces de usuario avanzadas.

Ventajas y desventajas de los frameworks

Ventajas

  • Proporciona funcionalidades integradas, estructura y una forma uniforme de trabajar, lo que hace que sea más fácil desarrollar sistemas de software.
  • Evita duplicidades de código, especialmente, en aquellos apartados que se repiten como la conexión con las bases de datos, la validación de formularios, etc.
  • Facilita el desarrollo más rápido y económico, y con menos esfuerzo ya que el framework proporciona la estructura y las funcionalidades estándares.
  • Reduce la cantidad de errores y facilita su resolución. Un framework suele estar creado y testado por varios desarrolladores y hay comunidades y foros en las que se pueden hacer consultas y ver respuestas a consultas relacionadas ya respondidas.

Desventajas

  • La curva de aprendizaje de un framework es bastante larga debido a que hay que entender cómo se estructuran, la forma en la que se comunican sus componentes, etc.
  • El uso de un framework aumenta el tamaño del programa a desarrollar debido a que ya viene cargado de estructuras y funcionalidades que puede que no se requieran.
  • Un framework impone una forma de trabajar, por lo que no es muy flexible y se necesitará seguir una serie de estándares de código para usarlo.
  • Si el programa que se va a desarrollar es pequeño puede que no merezca la pena usar un framework. Esto se debe a que si es algo pequeño, el framework puede hacer que una empresa tarde al final más al tener que seguir todas los estándares para ponerlo en funcionamiento que si se creara con código desde 0.

¿Quieres usar este artículo como fuente? Haz clic para copiar:

European Knowledge Center for Information Technology. (2022, 26 septiembre). Framework de software. TIC Portal. https://www.ticportal.es/glosario-tic/framework-software