What is PWA? A pragmatic explanation

by Spidoche

PWA, a quick definition

PWA “Progressive Web App” is a brand name that group a list of principles and web standard technologies. The goal is to make your website look like a native app. It’s actually strongly promoted by the Google Chrome team.

PWA is both desktop and mobile-friendly but was first thought of as a mobile thing to help solve the mobile web bad reputation compare to native apps.

Google official site defines PWA as Reliable, Fast, Engaging web applications. But to be more pragmatic, I prefer to say that in order to be called PWA, your website must be :

  1. Fast: page load fast (especially on mobile).
  2. Secure: use https everywhere.
  3. Installable: can be easily added to the device home screen.
  4. Work offline: if the user has no internet the site must at least display a custom offline message.

PWA Checker

A guideline has been created by the Google Chrome team. You must follow this guideline in order to get your PWA badge.

For none developer, the easiest way to check if your website is PWA friendly is to use the google lighthouse official extension. Lighthouse is a tool to check the quality of your site. So Run the report and go to the PWA category to see if your site passes the PWA test, the badge must look like this one.

PWA Optional functionalities

To fill the gap between website and native app there is also another web technology that can be used in your PWA like push notification, Web payment, Web RTC, device orientation …
But note those technologies are not required to get the PWA badge.

PWA Caveat

Even if it’s base on web standard, PWA is until now not support officially by all browsers. IOS devices required custom implementation and the user experience to install the app to the home screen is not as smooth as an Android browser one.

PWA IS THE FUTURE! maybe…

In the future, PWA can be a game-changer for all the Web and app industry. I think that all will depend on Apple. In my point of view, I think a lot of developers are waiting for a better implementation of the PWA standards on IOS devices before deciding to dive into the PWA world. It seems they currently prefer to use new web technologies independently and only when it’s needed instead of following guidelines that not provide full cross browsing support, at least in terms of user experience.

Also for the user perspective, it can also create annoying UX problems. As the risk of permission requests hell, if all the sites you are visiting start asking you to add their sites on your home screen it will be a real problem.

Those are things promoters of the Progressive Web App must solve in order to make the Web better instead of making it worse.