Progressive web apps is a term that is given to a new generation of applications that increase its functionality, as the capabilities of the device on which they run, increase, hence the word progressive. The next part of the web name refers to that they are built using web development standards, some already known as HTML, CSS, and JavaScript; and a new generation of JavaScript APIs. The final app part is because Progressive Web Apps behave like native web applications, but use web technologies.
 
What makes a web application, a Progressive Web App?
In very simplistic terms, they are web pages that behave like native applications. It is a very simple prayer, but also very deep. Native apps (iOS, Android for example) have historically had a number of advantages over web pages, like which ones? Local storage, run offline, push notifications, performance, hardware access, access to device home screen, among others.
 
Progressive web applications are halfway between the previous two: they are basically web pages, but by using Service Workers and other technologies they behave more like normal applications than web applications.
Through Service Workers and other technologies, progressive web applications can continue to run in the background without having to live within the browser. In the mobile, it is possible to install them as another application and also in Windows through the mediation of Google Chrome and Mozilla Firefox. Windows 10 will add support for progressive web applications in the Microsoft Store in the next big update.
 
Main advantages
A PWA is like a responsive website but:

  • It has a native application interface.
  • It works independently of the internet connection.
  • Send push notifications.
  • It is updated automatically.
  • It is installable.

A PWA is like a mobile application but:

  • It can be found through any search engine.
  • It can be shared through a URL.
  • It is distributed via the web (avoiding the mess of the app stores).

Some disadvantages
What are its disadvantages compared to a native mobile application?
They have limited performance and consume more battery since the native code (Swift, Objective C or Java) is faster than the web code (since it is interpreted instead of compiled).
 
A PWA cannot access all device-specific functionalities such as communication between applications, access to contacts or advanced camera functionalities.
 
Summary
Progressive web applications are a natural evolution of web applications that blur the barrier between the web and applications, being able to perform tasks that generally only native applications could perform. Some examples are notifications, operation without an Internet connection or the possibility of trying a lighter version before downloading a real native application.