If you have skimmed through my project descriptions, you would have noticed "PWA's" a lot. So, I thought it would be better if I made it clear what exactly a PWA is.
Put simply, a PWA is the new age web applications. I know we are used to thinking that to access a website or a web application, we always need an internet connection. This is exactly the notion that PWA's dismiss. With PWA's you don't always need an internet connection to work with the web application.
PWA's make use of the latest web technologies to provide offline access to an online application. One of the main things that makes a PWA a PWA is Service Workers. These are special scripts that acts as a buffer between the server and the application. Instead of letting the browser handle all the requests, we make the service worker handle it. That gives us developers a lot of power when developing awesome applications.
We use the Cache API and the Fetch API to cache the application shell and then respectively fetch it respectively. We use these API's whilst scripting the Service Workers to perform intelligent caching and implement one of the many fetch strategies.
PWA's are extremely fast since they don't make a request to the server everytime. For example, the application shell which consists of the basic theme and looks of the application is always cached so that a request to server is not required. It can be simply be loaded from the Cache.
But enough technical jargon for the moment. Why is it important? The most important point here is: Reach. PWA's reach a lot more people than a native app can. Every step to download an application reduces 20% of users. And since a PWA is web application at the end of the day, it will also be indexed by search engines and you can use them to boost your installs.
I think that this image does plenty of talking on my behalf. We can clearly see how PWA's have an edge over the native applications.
And besides all of this, PWA's are extremely low on data. To put things in perspective, a normal generic native application would cost your device atleast 10MB. Compare that to 500-1000KB of a PWA and you begin to see the difference.
Another one of the main advantages of PWA's is that the user won't have to explicitly update it. It automatically updates just as a website eould have. But in native the user would have had to go to the app stores and download the application update. Also, you don't have to install the PWA to use it. You can just keep using it just as you would with a website. The user can install it if he/she chooses and is comfortable with the application. This doesn't f user to install the application without using it. This goes a long way in buliding trust in the user.
If you want to check some of the cool PWA's, check out this store: OutWeb
As an ending note I'll leave this image that summarises the key features of a PWA.