Arquitectura de SPA

Contenido

Arquitectura de referencia principal para abarcar el desarrollo de aplicaciones web modernas, en las que la funcionalidad y la navegación se gestionan en una única página dinámica, proporcionando una experiencia de usuario fluida y rápida mediante la actualización de la vista sin recargar la página completa. 

Esta arquitectura permite reutilizar componentes y módulos comunes a través de una estructura organizada y modular.

Necesidad

Permitir la construcción y despliegue de aplicaciones web que puedan proporcionar una experiencia de usuario fluida, rápida y responsiva, gestionando eficientemente la carga de datos y la actualización de vistas: manejo de estados, actualización de datos, enrutamiento, acceso a APIs, gestión de autenticación y autorización, y optimización del rendimiento.

Características principales

  • Disponibilidad de un catálogo de componentes reutilizables para la construcción de vistas y funcionalidades dentro de la SPA.
  • Sistema de enrutamiento para gestionar la navegación interna sin recargar la página.
  • Manejo de estados centralizado para gestionar la data de la aplicación de manera eficiente.
  • Sistema de caché para el almacenamiento temporal de datos y mejorar el rendimiento.
  • Integración con servicios de backend mediante APIs para la actualización y acceso a datos.
  • Implementación de módulos de autenticación y autorización para asegurar el acceso a recursos protegidos.
  • Colectores de telemetría para el envío de trazas, logs y métricas.
  • Optimización de rendimiento mediante técnicas como la carga perezosa (lazy loading) y el prerenderizado.

Relaciones

  • Consumida por:
  • Clientes (navegadores y dispositivos móviles)

Accede a:

  • Arquitectura de APIs para la gestión de datos y servicios.
  • Sistema de autenticación y autorización para validar y gestionar el acceso de usuarios.

Características comunes entre arquitecturas Front:

  • Desarrollo y Despliegue: Todo el código de la aplicación se gestiona y despliega como una única unidad. La integración y el despliegue pueden ser complejos y lentos a medida que la aplicación crece.
  • Escalabilidad: La escalabilidad horizontal puede ser limitada, ya que todas las funcionalidades se gestionan dentro de un solo repositorio y base de código.
  • Mantenimiento y Refactorización: La refactorización puede ser compleja debido a la interdependencia de componentes dentro de una única base de código.
  • Tecnologías y Herramientas: Utiliza un conjunto uniforme de tecnologías y herramientas para toda la aplicación.

Beneficios  arquitecturas SPA

  • Flexibilidad Tecnológica: Utiliza tecnologías modernas y frameworks avanzados para proporcionar una experiencia de usuario optimizada.
  • Independencia y Descentralización: Mantiene la coherencia y reutilización de componentes dentro de una base de código unificada.
  • Escalabilidad y Mantenibilidad: Facilita el mantenimiento centralizado del estado y la lógica de la aplicación.
  • Desarrollo Paralelo: Proporciona una base de código unificada donde los desarrolladores pueden colaborar de manera eficiente.
  • Mejora Continua:  Facilita la implementación de mejoras en la interfaz de usuario de manera uniforme.
  • Resiliencia y Aislamiento de Fallos: Un manejo centralizado de errores y fallos puede garantizar una experiencia de usuario consistente.

 

Índice