Progressive Web App (PWA) is one of the hottest concepts in the web & app industry. Google is aggressively pushing it, and we are getting requests to build them. But what exactly is a Progressive Web App?
Google defines PWAs as user experiences that have the reach of the web, are reliable, fast and engaging. All that sounds fancy, but doesn’t really tell what the technology is all about. Let’s clarify.
Basically, a progressive web app is a traditional website with a couple of added functionalities that make it behave more like a native app. It’s a combination of modern web browser technologies and best practices of creating mobile friendly websites.
Google has announced a checklist for PWA developers. We compared the basic requirement list to a well built responsive website, to point out the main differences that these solutions may have.
|Site is served over HTTPS||Yes||Yes|
|Pages are responsive on tablets & mobile devices||Yes||Yes|
|All app URLs load while offline||No||Yes|
|Metadata provided for Add to Home screen||Possibly||Yes|
|First load fast even on 3G||Yes||Yes|
|Site works cross-browser||Yes||Yes|
|Page transitions don’t feel like they block on the network||Possibly||Yes|
|Each page has a URL||Yes||Yes|
If you look at the comparison, you notice that a progressive web app does not differ much from a modern responsive website. Even if you dive deeper and continue the comparison to exemplary features, PWA is still quite close to a responsive website.
The main difference is that a PWA supports offline usage. Traditionally, websites require a working and uninterrupted internet connection. Modern browsers can however cache content for offline use, which means websites can be re-opened with a poor connection, or even without any internet connection at all.
This is not to call the buzz around progressive web apps an overhype, but it’s good to understand, that it’s essentially a website that mimics the behavior of a native app. We think that in this sense PWAs show a direction where the web in general could be headed.