PWA vs Electron: una inmersión profunda
Publicado: 2020-05-20Tabla de contenido
Parece que hay demasiadas tecnologías nuevas en el campo hoy en día para que podamos seguirles la pista. Recientemente, estamos viendo el surgimiento de Electron.js, que es una plataforma de potencia detrás de una cantidad no tan pequeña de aplicaciones populares que usamos todos los días, y luego también está la aplicación web progresiva, que se supone que es una nueva forma de sitios web para ofrecer experiencias de cliente atractivas y de primer nivel sin sacrificar el rendimiento en el camino.
Para ayudarlo a realizar un mejor seguimiento de todas estas tecnologías recién descubiertas, hoy en el artículo de SimiCart, compararemos entre los dos: Electron y PWA, de la manera más completa.
¿Qué es PWA?
PWA parece estar de moda en estos días, ya que es una tecnología respaldada por Google y tiene toda la atención de los grandes como Microsoft con su ambicioso plan de hacer que Microsoft Store esté llena de PWA. La razón por la que es tan popular es que PWA en sí es lo mejor que ha salido de la web en años: su historial habla por sí solo.
En pocas palabras, las aplicaciones web progresivas son sitios web que se ven y se sienten como una aplicación. La tecnología es una combinación de las mejores funciones tanto de la web como de las aplicaciones nativas, lo que significa que los usuarios que usan PWA pueden beneficiarse de todas las funciones que antes eran exclusivas de las aplicaciones nativas, como notificaciones automáticas, ubicación geográfica y más.

¿Qué es el electrón?
En comparación con PWA, Electron es similar en muchos aspectos, ya que también utiliza tecnologías de la web, es decir, HTML, CSS, JavaScript, para abordar mejor el desafío multiplataforma. Sin embargo, a diferencia de PWA, las aplicaciones impulsadas por Electron se pueden convertir en aplicaciones de escritorio completamente funcionales, debido a su utilización de API nativas y el motor de renderizado de Chromium . De hecho, es tan funcional que a menudo es indistinguible de las aplicaciones de escritorio nativas, y podría haber encontrado una sin saber que está basada en Electron; por ejemplo, algunas de sus aplicaciones esenciales probablemente estén basadas en Electron, incluidas Skype, Slack, Discord. y Código de Visual Studio.

¿Electron no suena mucho mejor?
Bueno, cuando lo pones de esa manera... de alguna manera lo hace; pero no, es más matizado que eso. Hay una razón por la que estamos viendo una desaceleración reciente en la cantidad de aplicaciones basadas en Electron: Electron está mostrando su edad, especialmente en un momento en que los usuarios ahora exigen más que nunca la experiencia omnicanal que ofrece PWA. .
Al solicitar aportes de desarrolladores experimentados tanto de Electron como de PWA, notamos los siguientes patrones:
- Disponibilidad : dado que las aplicaciones basadas en Electron son prácticamente una versión híbrida de las aplicaciones de escritorio y no se pueden instalar en dispositivos móviles, PWA tiene la ventaja de estar disponible en casi cualquier dispositivo que tenga un navegador compatible con PWA.
- Rendimiento : una aplicación basada en Electron, cuando se hace correctamente, debería sentirse tan rápida y liviana como una aplicación de texto, pero ese no es el mejor rendimiento que puede obtener. Una ventaja conocida de PWA es que puede lograr un mejor rendimiento (en comparación con Electron) en la primera carga y un tiempo de carga casi instantáneo en cargas posteriores, ya que todo se almacena en caché sobre la marcha, y gran parte de la sobrecarga de JavaScript se puede cambiar a la trabajadores de servicios que es una parte integral de PWA.
- Actualización : como todos sabemos, la actualización (y la implementación en general) es una gran molestia para las aplicaciones nativas de cualquier tipo, y Electron no es una excepción. Esto se puede evitar optando por el enfoque PWA con el que todo el proceso de actualización puede ocurrir en el lado del servidor, liberando así a sus clientes del proceso de instalación de actualizaciones.
- Tamaño : Electron, aunque pesa menos que la típica aplicación de escritorio, sigue siendo considerablemente más pesado que PWA. Es difícil encontrar una aplicación de Electron que pese menos de 50 mb, mientras que la mayoría de las PWA tienen menos de un megabyte.
- Seguridad : PWA es mejor cuando se trata de seguridad, ya que se basa completamente en conexiones seguras (HTTPS) mantenidas por el lado del navegador, mientras que Electron, al ser una aplicación web envuelta en un contenedor de aplicaciones nativo, tiene que hacer todo manualmente por sí mismo.
Por qué PWA se está volviendo cada vez más popular
Aquí está la verdad, Electron es una tecnología obsoleta. A pesar de que actualmente es utilizado por una gran cantidad de aplicaciones de escritorio, muchas de ellas ya tienen planes para convertir sus aplicaciones de escritorio existentes basadas en Electron a PWA. Sí, puede convertir una aplicación basada en Electron en una PWA, aunque no será un proceso tan fluido en comparación con el proceso de conversión de PWA a Electron, pero es posible.

Electron sin todas sus fallas
Se puede decir que las aplicaciones web progresivas son una tecnología mejor y potencialmente más evolucionada, ya que resuelve los problemas fundamentales de Electron (compatibilidad y facilidad de distribución) sin dejar de ser funcional y atractivo para la experiencia del usuario. Esto se debe al hecho de que los navegadores de hoy en día se están convirtiendo en su propio sistema operativo universal con todas las capacidades que podría pedir y, como efecto secundario de esto, las tecnologías que dependen y se ejecutan en la Web, como PWA, solo mejoran con el tiempo. .
Ver más: PWA de escritorio: el futuro de la entrega de software PWA para Magento 2
omnicanal
Cuando se trata de la experiencia omnicanal, PWA sobresale en todos los sentidos imaginables, ya que está diseñado específicamente para la experiencia receptiva de múltiples dispositivos. Dependiendo del tipo de negocio involucrado, PWA puede ser la opción para las empresas que desean que la experiencia del usuario sea la misma en todos los dispositivos, mientras que con Electron JS tendría que desarrollar diferentes bases de código para diferentes plataformas, aumentando así el costo de desarrollo.
Cuándo elegir Electron
Si bien tiene sus ventajas, PWA no puede ser una solución integral para todos los modelos comerciales, y aquí es donde Electron encuentra su nicho. Las aplicaciones que se basan en Electron generalmente no se encuentran con la restricción habitual del navegador y se pueden desarrollar libremente en función de la funcionalidad de Node.js, con la cual Electron puede tener acceso a todas las API nativas del sistema operativo. Esto significa que las aplicaciones basadas en Electron se ejecutan en modo de usuario todo el tiempo, lo que garantiza un entorno operativo seguro y estable para el usuario.
Como regla general dentro de la comunidad de Electron, nunca es una buena idea usar Electron para lo que puede ser simplemente un sitio web . Entonces, si cree que su aplicación se encuentra en la pequeña minoría de casos en los que necesita la libertad adicional y las funcionalidades de las aplicaciones nativas, elija Electron; pero en cualquier otro caso, una PWA es más que suficiente.
Envolviendo palabras
La Web con sus tecnologías se está poniendo al día rápidamente y, en combinación con el movimiento de las grandes marcas para impulsar la adopción de PWA, no debería sorprenderle ver más PWA en el futuro. Sin embargo, eso tampoco quiere decir que Electron esté en su lecho de muerte, ya que la tecnología es, aún, bastante funcional y se espera que esté aquí por bastante tiempo; pero si usted es uno de los que está considerando entre los dos, PWA es una opción obvia, ya que la tecnología aún es relativamente nueva y se prevé que el soporte se dispare en un futuro cercano.
Lee mas:
PWA vs Flutter: una comparación detallada
Todo lo que necesitas saber sobre las aplicaciones web progresivas
Aplicaciones web progresivas: 12 ejemplos de marcas reales para su inspiración
Magento PWA Studio: una comparación detallada con Vue Storefront