TAI
Tema

Frameworks de desarrollo para Oposiciones TAI: Guía Completa

📝 0 preguntas 📖 Teoría 🎯 Preparación TAI

💡 Qué aprenderás

En este tema estudiarás todos los conceptos necesarios para responder correctamente las preguntas relacionadas con Frameworks de desarrollo en la oposición.

¿Qué es un framework de desarrollo?

Un framework de desarrollo es un conjunto de herramientas, bibliotecas, componentes y convenciones que proporciona una estructura base para crear aplicaciones de forma más rápida, organizada y mantenible.

En lugar de desarrollar todas las funcionalidades desde cero, el framework ofrece soluciones ya implementadas para tareas habituales como el acceso a bases de datos, el enrutamiento, la autenticación o la gestión de sesiones.

📖 Definición
Un framework proporciona la estructura de una aplicación; el desarrollador implementa la lógica de negocio sobre esa estructura.

Conceptos fundamentales

Para comprender los frameworks es necesario conocer los siguientes conceptos:

  • Framework: estructura reutilizable para desarrollar aplicaciones.
  • Biblioteca (Library): conjunto de funciones reutilizables utilizadas por el desarrollador.
  • API: interfaz que permite la comunicación entre componentes.
  • Patrón de diseño: solución reutilizable para problemas comunes de desarrollo.
  • MVC (Modelo-Vista-Controlador): arquitectura utilizada por numerosos frameworks.
🎯 Muy preguntado
Un framework suele integrar múltiples bibliotecas y aplicar patrones de diseño para facilitar el desarrollo.

Funcionamiento de un framework

En una aplicación desarrollada con un framework, el flujo habitual es el siguiente:

Petición del usuario

↓

Router

↓

Controlador

↓

Modelo

↓

Base de datos

↓

Vista

↓

Respuesta al usuario

El framework coordina automáticamente este flujo y proporciona las herramientas necesarias para cada etapa.

💡 Consejo para el examen
El desarrollador escribe la lógica de negocio, mientras que el framework gestiona gran parte de la infraestructura de la aplicación.

Características de los frameworks

Los frameworks modernos suelen ofrecer:

  • Arquitectura predefinida.
  • Reutilización de código.
  • Modularidad.
  • Separación de responsabilidades.
  • Herramientas de seguridad.
  • Integración con bases de datos.
  • Gestión de dependencias.
  • Facilidades para pruebas y despliegue.
🎯 Muy preguntado
El principal objetivo de un framework es aumentar la productividad y mejorar la calidad del software.

Inversión de Control (IoC)

Una característica fundamental de los frameworks es la Inversión de Control (Inversion of Control).

En una aplicación tradicional:

  • El desarrollador controla completamente el flujo de ejecución.

En un framework:

  • Es el propio framework quien controla el flujo y ejecuta el código del desarrollador cuando corresponde.

Este principio suele resumirse con la expresión:

"Don't call us, we'll call you."

⚠️ Error habitual
Una diferencia clásica de examen es distinguir entre una biblioteca y un framework: con una biblioteca el desarrollador llama al código; con un framework es el framework quien llama al código del desarrollador.

Arquitectura MVC

Muchos frameworks utilizan el patrón Modelo-Vista-Controlador (MVC).

Componentes

Componente Función
Modelo Gestiona los datos y la lógica de negocio.
Vista Presenta la información al usuario.
Controlador Recibe las peticiones y coordina el modelo y la vista.

Flujo de trabajo

  1. El usuario realiza una petición.
  2. El controlador la recibe.
  3. El modelo procesa los datos.
  4. La vista genera la respuesta.
  5. El usuario recibe el resultado.
💡 Consejo para el examen
MVC facilita la organización del código y simplifica el mantenimiento de aplicaciones grandes.

Ventajas de utilizar un framework

Entre las principales ventajas destacan:

  • Mayor productividad.
  • Código más organizado.
  • Reutilización de componentes.
  • Desarrollo más rápido.
  • Mayor seguridad.
  • Mejor mantenibilidad.
  • Amplio ecosistema de herramientas.
  • Comunidad y documentación.
🎯 Muy preguntado
Los frameworks reducen significativamente el tiempo necesario para desarrollar aplicaciones complejas.

Inconvenientes

También presentan algunas limitaciones:

  • Curva de aprendizaje.
  • Mayor consumo de recursos que una aplicación mínima.
  • Dependencia del framework.
  • Posibles problemas durante las actualizaciones.
  • Restricciones en determinadas decisiones de diseño.
📌 Recuerda
Elegir un framework implica aceptar parte de su arquitectura y sus convenciones.

Frameworks más utilizados

Algunos de los frameworks más conocidos son:

Framework Lenguaje
Laravel PHP
Symfony PHP
Spring Boot Java
ASP.NET Core C#
Django Python
Flask Python
Ruby on Rails Ruby
Express JavaScript (Node.js)
Angular TypeScript
React JavaScript (biblioteca)
Vue.js JavaScript
🎯 Muy preguntado
Aunque suele estudiarse junto a otros frameworks, React es una biblioteca (Library), no un framework completo.

Frameworks Front-end y Back-end

Los frameworks pueden clasificarse según la parte de la aplicación donde trabajan.

Front-end

Se ejecutan en el navegador del usuario.

Ejemplos:

  • Angular.
  • Vue.js.
  • React (biblioteca).

Sus funciones incluyen:

  • Interfaz gráfica.
  • Navegación.
  • Manipulación del DOM.
  • Experiencia de usuario.

Back-end

Se ejecutan en el servidor.

Ejemplos:

  • Laravel.
  • Spring Boot.
  • Django.
  • ASP.NET Core.
  • Express.

Sus funciones incluyen:

  • Lógica de negocio.
  • Acceso a bases de datos.
  • Autenticación.
  • APIs.
  • Gestión de usuarios.
💡 Consejo para el examen
El front-end interactúa con el usuario; el back-end procesa la información y accede a los recursos del servidor.

Comparación Framework vs Biblioteca

Framework Biblioteca
Controla el flujo de ejecución El desarrollador controla el flujo
Arquitectura completa Funcionalidad concreta
Incluye múltiples componentes Suele resolver un problema específico
Aplica convenciones Uso más libre
Mayor nivel de abstracción Menor nivel de abstracción
⚠️ Error habitual
No confundas un framework con una biblioteca; la diferencia principal es la Inversión de Control.

Caso práctico

Situación

Una empresa necesita desarrollar una aplicación web con autenticación de usuarios, acceso a bases de datos, gestión de sesiones y una API REST.

Solución

Utilizar un framework como Laravel, Spring Boot o ASP.NET Core permite:

  • Reducir el tiempo de desarrollo.
  • Aprovechar componentes ya implementados.
  • Mejorar la seguridad.
  • Facilitar el mantenimiento.
  • Aplicar una arquitectura organizada.

Desarrollar todas estas funcionalidades desde cero supondría un mayor coste y un mayor riesgo de errores.

🎯 Muy preguntado
Los frameworks resultan especialmente útiles en aplicaciones medianas y grandes donde la mantenibilidad es un requisito fundamental.

Ventajas e inconvenientes

Ventajas

  • Desarrollo más rápido.
  • Código estructurado.
  • Mayor reutilización.
  • Seguridad integrada.
  • Escalabilidad.
  • Mejor mantenimiento.

Inconvenientes

  • Curva de aprendizaje.
  • Dependencia tecnológica.
  • Mayor complejidad inicial.
  • Posible pérdida de rendimiento frente a soluciones muy específicas.

Errores habituales

⚠️ Error habitual
Los errores más frecuentes al estudiar frameworks son:
  • Confundir framework con biblioteca.
  • Pensar que todos utilizan MVC.
  • Creer que React es un framework completo.
  • Pensar que un framework elimina la necesidad de programar.
  • No comprender el concepto de Inversión de Control.

Cómo evitarlos

  • Diferenciar framework y biblioteca.
  • Comprender el patrón MVC.
  • Recordar el principio de Inversión de Control.
  • Identificar los frameworks según su lenguaje y finalidad.

Relaciones con otros temas

Los frameworks están estrechamente relacionados con:

  • Programación orientada a objetos.
  • Patrones de diseño.
  • Arquitectura MVC.
  • APIs REST.
  • Bases de datos.
  • Desarrollo web.
  • Front-end.
  • Back-end.
  • Control de versiones.
  • DevOps.
📌 Recuerda
En exámenes es habitual relacionar los frameworks con MVC, bibliotecas, Inversión de Control, APIs REST, patrones de diseño y desarrollo web.

Conceptos clave para recordar

[!NOTE]

  • Un framework proporciona una estructura reutilizable para desarrollar aplicaciones.
  • Facilita el desarrollo mediante componentes, herramientas y convenciones ya implementadas.
  • La mayoría incorporan el principio de Inversión de Control (IoC).
  • Muchos frameworks utilizan la arquitectura MVC (Modelo-Vista-Controlador).
  • Existen frameworks de front-end y de back-end.
  • Un framework controla el flujo de ejecución; una biblioteca es llamada por el desarrollador.
  • Los frameworks mejoran la productividad, la mantenibilidad y la seguridad de las aplicaciones.
  • Laravel, Spring Boot, Django y ASP.NET Core son algunos de los frameworks más utilizados.
  • React es una biblioteca, no un framework completo.

📝 Preguntas de ejemplo

Comprueba si reconoces este tipo de preguntas.

¿Has terminado de estudiar?

Ahora pon a prueba tus conocimientos realizando el test completo de este tema.

Comenzar test

Utilizamos cookies

Utilizamos cookies analíticas para conocer el uso de la plataforma y mejorar la experiencia del usuario. Puedes aceptar o rechazarlas en cualquier momento. Más información en nuestra Política de Cookies .