Web SPA: diagrama sobre la relación entre el ordenador del usuario y el servidor
Web SPA: diagrama sobre la relación entre el ordenador del usuario y el servidor. Infografía: Omatech

Una web SPA o de una sola página permite mejorar la experiencia de usuario de la aplicación web, siempre y cuando el posicionamiento web no sea prioritario.

En este artículo del blog de Omatech explicamos qué es una web SPA y para qué proyectos digitales es la mejor opción de desarrollo web.

Omatech desarrolla aplicaciones web SPA para proyectos web de alto rendimiento 

SPA vs MPA

Según los requisitos del proyecto web, podemos optar por una web SPA (Single-Page Application) o por una web MPA (Multi-Page Application).

  • Multi-Page Application (MPA). Una aplicación multi-página es la aplicación web tradicional, en la que una nueva página se carga desde el servidor cada vez que hay petición de datos por el usuario. La cantidad de contenido que mueven estas aplicaciones es muy grande. Por tanto, suelen ser webs con muchos niveles de profundidad, con un gran número de hipervínculos y con una UI (User Interface) compleja.
  • Single-Page Application (SPA). Una aplicación de una sola página es una página única que en todo momento interactúa con el usuario, y que lo hace con enorme agilidad al reescribir la página en vez de cargar nuevas páginas enteras desde el servidor.

¿Qué es una web SPA?

Una web SPA (Single-Page Application) es una aplicación web capaz de atender las necesidades de contenido y de interacción con el usuario como lo haría un sitio web tradicional, pero con la fluidez de la experiencia de usuario características de una aplicación móvil o de escritorio.

La denominación single-page, que podemos traducir como una sola página o página única, hace referencia a que la aplicación consiste en una sola página, que constantemente va siendo actualizada con JavaScript.

Las peticiones al servidor funcionan con mucha agilidad, porque solo se actualizan los datos necesarios de manera dinámica. Es decir, no se cargan páginas completas una y otra vez.

La web SPA es una aplicación completa, que se ejecuta en el navegador web y que se conecta a un servidor web para ir actualizando datos de forma constante.

¿Cómo funciona la web SPA?

Cuando el usuario está navegando en un sitio web, el navegador que utiliza va enviando peticiones al servidor y le van llegando archivos HTML como respuesta. En cambio, con la web SPA, el servidor solo envía un archivo HTML en la primera petición. De este modo, en las siguientes peticiones lo que envía el servidor son datos conocidos como JSON (JavaScript Object Notation).

Gracias al envío de pequeñas cantidades de datos, y no de páginas enteras, una web SPA solo reescribirá el contenido de la página en lugar de ir cargando páginas como respuesta a las peticiones del usuario. El proceso, por tanto, es más rápido, y contribuye a una mejor experiencia de usuario.

El archivo html inicial se mantiene invariable, al tiempo que la lógica de JavaScript cambia solo lo necesario para actualizar la vista

Web SPA para una mejor experiencia de usuario

La agilidad y economía en la carga de contenido de las aplicaciones SPA favorecen una buena experiencia de usuario, comparable a la de las aplicaciones nativas —desarrolladas para el sistema operativo nativo del dispositivo– para móviles u ordenadores de escritorio. Las características más destacables son la fluidez y la rapidez.

La web SPA favorece una buena experiencia de usuario

La buena experiencia de usuario de la web SPA es ideal para trasladar una aplicación de escritorio muy interactiva al ámbito online, en la forma de aplicación web de alto rendimiento

Webs de alto rendimiento y sin gran necesidad de SEO

Para un sitio web estático, que el usuario pida datos y que cada vez se carguen páginas enteras, es un mecanismo que funciona. Ahora bien, hay aplicaciones web que deberían ser SPA porque exigen interacciones a tiempo real más rápidas y más complicadas. En estos casos solo con una aplicación web SPA se conseguiría un alto rendimiento.

La web SPA es ideal para aplicaciones web e intranets de alto rendimiento que requieren un funcionamiento muy fluido, y para las que el posicionamiento SEO no es un factor determinante.

La arquitectura de la Single-Page Application es adecuada para desarrollar potentes plataformas SAAS (Software-as-a-Service) y plataformas de redes sociales.

Siempre y cuando el posicionamiento web no sea importante, las webs SPAs contribuyen a aumentar el engagement del usuario y la productividad a la hora de completar tareas y de explorar datos.

Son ejemplos de SPAs muchas de las aplicaciones que utilizamos cada día, como las redes sociales Facebook y Twitter, así como Gmail, Google Maps, Google Drive o GitHub.

Omatech apuesta fuerte por SPAs —a partir sobre todo del framework React— para desarrollar aplicaciones web e intranets

Para las webs corporativas con mucho contenido en que el SEO es un elemento decisivo, Omatech recurre al gestor de contenidos y crea múltiples páginas optimizadas para las búsquedas online

Webs para promocionar un único servicio o producto

Si quieres promocionar un único servicio o producto, las aplicaciones web SPA son la mejor opción. La razón es que te permiten exhibir una funcionalidad potentísima en una aplicación web que es un impresionante peso ligero, de lo ágil y rápida que es.

¿Qué ventajas tienen las webs SPA?

Ventajas de la web SPA

Las aplicaciones web SPA ofrecen las siguientes ventajas:

Rapidez

Las aplicaciones de una sola página son rápidas porque la mayor parte de recursos, incluidos HTML, CSS y Scripts, se cargan solo una vez. Por tanto, se transmiten pequeñas cantidades de datos que actualizan o reescriben la página.

Sabemos que una página que tarde demasiado en cargar puede reducir visitas y, por tanto, ventas. De ahí que sea tan importante la velocidad que garantiza la web SPA, que carga más rápido que las aplicaciones web convencionales, ya que tan solo hay que cargar la página completa en la primera petición.

Buena experiencia de usuario

El principal punto fuerte de una web SPA es que el usuario se siente como si estuviese utilizando una aplicación móvil o de escritorio. Los usuarios no deben esperar a que se cargue una nueva página, dado que lo que cambia es el contenido, y no la página. La experiencia de usuario es mucho mejor.

Menos consumo de ancho de banda

Al cargar las páginas solo una vez, las webs SPA consumen menos ancho de banda.

Inconvenientes de la web SPA

Las webs SPA tienen puntos débiles que desaconsejan su uso para determinados proyectos web.

Dificultad para el SEO

Una web de una sola página es una clara desventaja de cara al posicionamiento web. Y es que, a más páginas, más posibilidad de visibilizar y trabajar con palabras clave de cara a motores de búsqueda. Además, las webs SPA basadas en JavaScript no son demasiado amigables para la labor de Google de ir pasando por las páginas e indexándolas. En todo caso, hay que decir que hay estrategias y maneras para mitigar todos estos obstáculos para el SEO.

Mayor tiempo de carga de la aplicación

Las aplicaciones web SPA requieren más archivos para funcionar cuando arrancan, de manera que el tiempo de carga de la aplicación puede ser mayor. Hay estrategias para minimizar este tiempo de carga, que consisten básicamente en espaciar la carga de todos estos recursos y no cargarlos todos al inicio.

Alto uso de recursos del navegador

Las webs SPA requieren muchos recursos del navegador web, ya que este hace buena parte del trabajo necesario para estas aplicaciones web. Para un buen aprovechamiento de las SPAs, muchas veces los usuarios necesitan tener el navegador adecuadamente actualizado y personalizado.

Problemas de seguridad

En contraste con las aplicaciones multipágina, las webs SPA son más vulnerables frente a los ataques de XSS o cross-site scripting (se inyectan scripts maliciosos). También pueden darse problemas de exposición de datos sensibles a todos los usuarios.

Para evitar estos problemas, Omatech extrema las medidas de seguridad en los desarrollos de web SPA. El objetivo es evitar cualquier intento de intrusión o accesos de tipo malicioso