Progressive Web Apps (PWAs) are web applications which offers the features of both web as well as native apps. PWAs attempt to unite the features offered by most modern browsers with the benefits of a mobile experience.
In 2015, designer Frances Berriman and Google Chrome engineer Alex Russell came up with the concept of “progressive web apps” to describe the apps which use the new features supported by modern browsers, like service workers,web app manifests, etc.
So, why was there a need for PWAs? The problem with native apps is that they are not always easy to develop and support. To develop the same for different platforms, versions and devices, it involves extra time and effort. And also, it is not a cheap proposition. After the app is ready, distributing and publishing to the app store is also a very tedious process. So, to solve all these issues, the concept of PWA was introduced.
Some of the characteristics of PWAs include:
1. Progressive: they work for every user, regardless of the browser choice because they’re built by keeping in mind progressive enhancement as a core tenet.
3. Connectivity independent: since they make use of service workers which allow them to work offline as well as on poor net connectivity.
4. Offer an app-like experience to the users though they are normal web pages.
5. Are safe since they are served only via HTTPS.
6. Easily installable and can be shared via a URL. They also have an ‘Add to Home Screen’ feature which allows the users to access them easily.
To create PWAs, we make use of three important technologies, namely, Application Shell Architecture (App Shell), Service Workers and Web App Manifest.
Building a PWA involves many steps. Firstly, we need to architect the App Shell. This step involves, getting all the UI components in place, deciding which UI components will be cached when the app is launched for the first time, etc.
After the App Shell step, the next step is to create and use the service workers. A service worker acts like a network proxy. It lies between your network and the device to supply the contents. Service workers make use of the caching mechanism which gives the PWA its ‘work offline’ feature. Service workers also include features like push notifications, background sync, etc.
Lastly, we need to set up the Web App Manifest file. This file basically contains all the details about the app like the name of the web application, links to the web app icons or images, URL to open the web app, etc. After all the above steps are completed, the PWA is ready to use.
Many leading companies all over the world are making use of PWA to give users the experience of using a website as an app, to name a few Ali Express, Flipkart, Wego, Forbes, Twitter, etc.
To conclude I would say, Progressive Web Apps are the future of apps.