Las aplicaciones de página única (conocido en ingles como Single Page Application - SPA) se ejecutan la mayor parte de la lógica en la interfaz del usuario en base a un explorador web (Edge, Chrome, Firefox, Opera y otros) y se comunican con el servidor web principalmente ya se por intermedio de API web. Además es común ver paginas webs con un enfoque híbrido; del cual es más sencillo y práctico para hospedar una o más Sub Aplicaciones enriquecidas de tipo SPA dentro de una aplicación web tradicional.
Los aplicaciones de página única SPA normalmente se implementan para los siguientes casos:
- Cuando la aplicación tenga que exponer una interfaz de usuario enriquecida con muchas características.
- Cuando el equipo de desarrollo está familiarizado con JavaScript, TypeScript, Angular, Reactjs, Vuejs y Blazor WebAssembly.
- Cuando el equipo ya cuenta con las API web que exponer para otros clientes ya sea internos o públicos.
Los marcos de SPA requieren mayores conocimientos de arquitectura y seguridad ya que experimentan mayores cambios que las aplicaciones web tradicionales debido a las actualizaciones frecuentes y los marcos de trabajo nuevos.
La configuración del procesos de compilación e implementación automatizados y el uso de opciones de implementación como contenedores pueden ser más difíciles desplegar las SPA.
Características de un Single Page Application - SPA
Para iniciar, podemos empezar asumiendo que SPA son aplicaciones web creadas sobre una sola página que muta mediante interacciones Javascript.
Intuitivamente, podemos decir que es un tipo de aplicación que consiste en mostrar todas sus pantallas en la misma página, sin realizar sucesivas cargas de otras secciones de la plataforma provenientes del servidor al cambiar de dirección interna de la URL.
Conceptualmente, podemos decir también que una Single Page Application - SPA, es un sitio web que recarga y muestra su contenido en respuesta a acciones propias de la navegación (enviar un formulario, clickar en un enlace, acceder a una sección interna) sin tener que realizar peticiones al servidor para volver a cargar más código HTML.
Filosóficamente, podemos especificar que parte de la filosofía de SPA es ofrecer una experiencia de usuario similar a la de una aplicación de escritorio pero desde un navegador, manipulando datos, flujos y estructuras que dependen de una conexión a Internet en menor medida que el resto de aplicaciones web tradicionales, de forma ágil y grata, ofreciendo una experiencia de usuario muy cómoda, rápida y agradable.
Y funcionalmente, podríamos describir varias características de una SPA:
Punto de entrada central: Un punto de entrada único, un que se va transformando y adaptando mediante acciones.
Página única, pero con vistas cambiantes: Como en el caso de una aplicación de escritorio, nos mantenemos en un "marco único" y fijo, mientras que las "vistas" son dinámicas que van ofreciéndonos las distintas posibilidades del uso y navegación.
Página única, no URL fija: Es posible que la dirección URL sufra cambios en base a las actividades de uso de la plataforma y vaya modificándose aunque ese "marco único" se mantenga fijado; aclarar que también existen SPA que no transforman sus direcciones.
Viajar ligera de equipaje: Las peticiones cliente - servidor tienden a ser más laxas y más livianas que en el caso de una plataforma web tradicional el uso es mayor. Además muchos procesos quedan del lado del navegador web del cliente a partir de diversas herramientas (como LocalStorage, por ejemplo). Los datos son tratado preferentemente en formato JSON.
Ahora detallaremos acerca de Blazor que parte de la tecnología que nos ofrece Microsoft:
Blazor:
ASP.NET Core incluye un modelo para la creación de interfaces de usuario interactivas que admiten composición, el cual se denomina Blazor. El lado servidor de Blazor permite a los desarrolladores crear una interfaz de usuario con C# y Razor en el servidor, así como la conexión interactiva de la interfaz de usuario al explorador en tiempo real mediante una conexión del ya conocido SignalR persistente.
Blazor WebAssembly presenta otra opción para las aplicaciones Blazor, que les permite ejecutarse en el explorador mediante WebAssembly. Dado que se trata de la ejecución real de .NET en WebAssembly, puede volver a usar el código y las bibliotecas de las partes del lado servidor de la aplicación.
Blazor es una tercera opción nueva que se debe tener en cuenta a la hora de evaluar si se debe compilar una aplicación web puramente representada por el servidor o una SPA. Puede compilar comportamientos de cliente enriquecidos similares a los de SPA mediante Blazor, sin necesidad de un desarrollo significativo en JavaScript. Las aplicaciones de Blazor pueden llamar a las API para solicitar datos o realizar operaciones del lado servidor. Pueden interoperar con JavaScript en caso necesario para aprovechar las ventajas de las bibliotecas y los marcos de trabajo de JavaScript.
0 Comentarios