Para entender este tipo de aplicaciones, primero es necesario entender el concepto de Aplicación Nativa.
Las aplicaciones nativas son aplicaciones específicamente desarrolladas para el Sistema Operativo (SO) en el que se ejecutan. Ejemplo de aplicación nativa es WhatsApp.
Se puede desarrollar una aplicación nativa con diferentes lenguajes de programación, y cada lenguaje de programación se adapta al SO del equipo. Por ejemplo, Objective-C para IOs, Java para Andorid, .NET para Microsoft, etc.
Ya que el lenguaje de programación se adapta al SO, el lenguaje de programación usa los recursos del SO lo que hace que se respete el ASPECTO y FUNCIONAMIENTO en el SO donde se ejecutan.
Como ventajas, las aplicaciones nativas:
- Pueden funcionar sin internet
- Aprovechan las potencialidades del dispositivo
- Se distribuyen en App Store y Google Play
Como desventajas:
- Su desarrollo y actualización es costoso
Considerando lo mencionado sobre las aplicaciones nativas, las aplicaciones Web Progresivas (PWA) están ubicadas entre las App Web tradicionales y las App Nativas.
Las PWA se ejecutan en el navegador y basan en estándares web abiertos (HTML, Javascript, CSS) al igual que las App Web tradicionales. En este sentido, se puede decir que las PWA son la evolución de las App Web Tradicionales. No obstante, s a pesar de que se ejecutan en el navegador, su comportamiento y eficiencia se parece mucho a las aplicaciones nativas.
Las PWA son App Web pero beneficiadas de tecnologías especiales como los “service workers” y otras tecnologías (p.e., HTML5) que les permiten que:
- Su experiencia de uso sea similar a las apps nativas más que a las apps Web. Por ejemplo, una PWA puede seguir ejecutándose en segundo plano sin tener que vivir en el navegador, lo que no pueden hacer las apps tradicionales.
- Pueden llegar a hacer tareas que solo las App Nativas pueden hacer. Es decir, las PWA se ejecutan en el navegador por ende consumen los recursos del navegador en lugar de los recursos del SO, como lo hacen las apps nativas. Es decir, las PWA pueden llegar a hacer tareas que solo las App Nativas pueden hacer.