PWA vs SPA: iguales pero diferentes
Publicado: 2019-09-18Tabla de contenido
El atractivo de los sitios web estándar está empezando a perder su encanto, cediendo su lugar a las aplicaciones web. Con cada día que pasa, las aplicaciones web son cada vez más populares debido a su experiencia atractiva y asombrosamente rápida.
La mayor parte de este éxito tecnológico solo se puede obtener mediante la implementación de ciertas arquitecturas en la estructura de su sitio web, lo que garantiza la estabilidad, el rendimiento y la participación de su sitio web.
Dos enfoques populares para estructurar su aplicación web en este momento son PWA y SPA. Mucho de la concepción común con respecto a estos dos enfoques, no son lo mismo. Esto es crucial ya que sus diferencias pasadas por alto a menudo conducen a errores costosos y oportunidades perdidas; seguramente usted, probablemente el propietario de un sitio para quien cada milisegundo importa, no quiere que su aplicación web se quede atrás del resto del mundo.
¿Cómo trabajan?
Aplicaciones de una sola página (SPA)
SPA (aplicación de página única) es un sitio web cuya página actual se actualiza dinámicamente en lugar de descargarse por completo de un servidor. En otras palabras, todo el código de aplicación necesario para su aplicación web (HTML, CSS, JavaScript) debe cargarse solo una vez . A medida que el usuario navega por la aplicación web, todos los contenidos y elementos que necesitan actualización se recuperan y se vuelven a presentar sin necesidad de que el usuario vuelva a cargar el navegador.
Esto ahorra el tradicional viaje de ida y vuelta entre el navegador y el servidor, lo que permite interacciones más rápidas y una mejor satisfacción del usuario.

Probablemente usas SPA todo el tiempo sin siquiera darte cuenta. ¿Te das cuenta de que la mayoría de los sitios web de redes sociales se sienten de la misma manera? Esto se debe a que todos usan SPA para optimizar la experiencia del usuario y crear una fuente continua de actualización de noticias.
Estos son algunos de los SPA notables que probablemente esté usando con regularidad:
- Gmail
- netflix
- mapas de Google
Aplicaciones web progresivas (PWA)
A diferencia de SPA, Progressive Web App (PWA) se parece más a un conjunto de pautas y listas de verificación que a una arquitectura específica. Los PWA son conocidos y se desvían de los SPA por varias características, tales como:
- Trabajadores de servicios: los trabajadores de servicios proporcionan la base técnica para muchas de las características destacadas de PWA, a saber, la disponibilidad sin conexión y las notificaciones automáticas.
- Manifiesto de la aplicación web: un archivo JSON que contiene los metadatos necesarios para su PWA. Los manifiestos de aplicaciones web se pueden generar automáticamente mediante el generador de manifiestos de PWA.
- HTTPS: las PWA siempre se sirven desde un origen seguro.

Los trabajadores del servicio actúan como un proxy entre el navegador y la red y son responsables del almacenamiento en caché de los activos del sitio web y la intercepción de las solicitudes de red, lo que conduce a la disponibilidad sin conexión del sitio web y varias otras funciones, incluidas las notificaciones automáticas.
Los trabajadores de servicio también ayudan enormemente en segundo plano. Además de ofrecer capacidades fuera de línea, también son responsables de gran parte de los cálculos pesados, que es la razón principal por la que la mayoría de los sitios web de PWA son tan eficientes y de carga rápida.
Hemos escrito una guía detallada sobre qué es Progressive Web App. ¡Así que no te lo puedes perder!
¿En qué se parecen?
Al ser tecnologías nuevas y revolucionarias, estas dos arquitecturas ofrecen a sus usuarios una experiencia atractiva similar a una aplicación que es muy diferente de los sitios web tradicionales. A primera vista, pueden confundirse fácilmente entre sí; los procesos subyacentes que hacen posible todas estas experiencias, sin embargo, no son los mismos.
¿Cual es la diferencia?
Hay una idea errónea común de que un PWA es casi siempre un SPA, lo cual es simplemente incorrecto. A partir de los requisitos de PWA anteriores, puede ver que en ninguna parte se indica que el contenido de su sitio web debe mostrarse en el navegador o que una PWA no debe solicitar páginas renderizadas por el servidor.
Una PWA es, en pocas palabras, un sitio web que tiene todas las mejores cualidades que ofrece la Web. Es confiable, rápido y atractivo.
Y dado que PWA requiere trabajadores de servicio que se ejecutan en un subproceso separado de la interfaz de usuario, los PWA se diferencian de tal manera que sus contenidos siempre se muestran casi instantáneamente , a diferencia de los SPA que casi siempre acompañan una pantalla de carga inicial específica para la precarga de los sitios. activos. Esto significa que la mayoría, si no toda, la abundante sobrecarga de JavaScript que el marco de JavaScript de SPA coloca en sus aplicaciones web puede reasignarse al trabajador del servicio.


Obviamente, las diferencias entre estos dos no son solo eso, hay muchas más para diseccionar:
En términos de velocidad
Con respecto a la velocidad, estas dos arquitecturas son bastante similares ya que ambas son tecnología de punta. Sin embargo, la ventaja podría ir para PWA aquí.
La razón de esto es que, mientras que tanto los SPA como los PWA usan JavaScript para sus desarrollos, PWA puede aprovechar sus trabajadores de servicios para renderizar algunos de los trabajos. En otras palabras, gran parte de la sobrecarga excesiva de JavaScript que agregan los SPA a sus aplicaciones web puede delegarse en los trabajadores del servicio, lo que reduce en gran medida la huella de JavaScript.

Esto permite que los sitios de PWA almacenen en caché muchos recursos del sitio: secuencias de comandos, CSS, imágenes y marcado antes de que sean necesarios. Gracias a estos cachés previos, la red del usuario se libera de las tensiones adicionales que conlleva el renderizado y puede trabajar sin conexión.
En términos de costo
Aquí es donde PWA pierde ante SPA. Al poseer tecnología de punta, PWA, en consecuencia, tiene un costo adicional. Eso sin mencionar que el desarrollo de PWA a menudo dura semanas o incluso meses a la vez, ya que no es un proceso tan optimizado en comparación con el de SPA.
PWA : $2000 – $20.000
SPA : $1500 – $12.000
Hay muchos factores en juego que afectan sus costos de construcción, como la tarifa de su desarrollador, la complejidad del trabajo, sus preferencias y personalizaciones... todo lo cual debe tenerse en cuenta al hacer una estimación de costos.
Lectura recomendada: ¿Cuánto cuesta construir una PWA de Magento?
En términos de experiencia de usuario/interfaz de usuario
Si bien los SPA habían tenido su lugar en el pasado, las personas están comenzando a convertirse a PWA ya que ofrece una mejor experiencia de usuario (UX).
Ambos poseen la interfaz similar a una aplicación, PWA brinda más compromiso y confiabilidad incluso en condiciones de conexión lenta o fuera de línea. Por estas razones, marcas influyentes como Twitter han iniciado el movimiento PWA al lanzar su propia versión PWA de su sitio, que es Twitter Lite.

Y no es sólo Twitter. Se espera que el movimiento PWA llegue para quedarse; además, con la reciente participación de Spotify, el movimiento no parece mostrar ningún signo de desaceleración pronto.

La aplicación de una sola página tiene su límite de no poder ofrecer una experiencia de usuario satisfactoria en sitios grandes, por lo que funciona mejor para sitios orientados a datos y no necesariamente visualmente impresionantes como Gmail y Facebook.

En términos de seguridad
La seguridad es un tema delicado. Si bien tanto PWA como SPA usan JavaScript como su biblioteca principal para desarrollos, sus problemas con respecto a la seguridad difieren mucho, la mayoría de los cuales provienen de SPA y su problema XSS (secuencias de comandos entre sitios).
Se plantean muchas menos preocupaciones con respecto a la seguridad en PWA, ya que la naturaleza de Progressive Web App es que todas las conexiones pasen por un origen HTTPS seguro. Al igual que los PWA, HTTPS también es el futuro de la Web, a través del cual las características de vanguardia, como los trabajadores de servicios, se vuelven accesibles y posibles.
En términos de accesibilidad
En comparación con las SPA, las PWA son generalmente más accesibles, especialmente con la compatibilidad reciente de Chrome con la PWA de escritorio. Los usuarios que interactúan con PWA pueden tener la opción de agregar un acceso directo de la aplicación que están usando en su pantalla de inicio o en su escritorio.

Los SPA son realmente terribles cuando se trata de accesibilidad, ya que tienen la tendencia de dejar a su usuario en medio de la nada cada vez que se ejecuta una transición de página. Esto es especialmente frustrante para los usuarios con discapacidades, ya que ningún aria o atributo de rol podrá ayudarlos si la página sigue cambiando completamente su estructura DOM (Modelo de objetos de documento).
Terminando
Por muy revolucionarios que hayan sido los SPA, el tiempo parece haberlo alcanzado lentamente. Si bien los SPA y los PWA son similares, cada vez más personas eligen los PWA en lugar de los SPA y eso es comprensible, dados los beneficios que brindan los PWA.
Con SimiCart, ofrecemos la mejor solución de PWA para comerciantes de Magento.