Progressive web applications
What exactly is a progressive web app (PWA)?
Google defines a PWA as being:
“built and enhanced with modern APIs to deliver enhanced capabilities, reliability, and installability while reaching anyone, anywhere, on any device with a single codebase.”
This isn’t particularly concise, but the three main points are there:
- Capable: being able to provide the same complex functionality as a traditional native app.
- Reliable: a very fast and responsive site is critical, and must be able to function on poor, or even non-existent network connections.
- Installable: can be launched directly from the user’s desktop or home screen and contained in a standalone window, not a web browser.
Why use progressive web apps?
The benefits of a native app, without the drawbacks: native apps have terrible user retention during the sign-up process. Studies have shown that around a fifth of an apps possible user base drops off with each step of the installation (e.g. finding the correct app on the relevant store, downloading and installing it, and then finally opening the app to start using it).
Can be much faster than a normal website: using service workers to define what files to store and when files should be updated means PWAs can load at much faster rates.
Reliable and offline working: utilizing the same technology above, service workers allow us to achieve much greater reliability than a regular website. With the essential files already downloaded, the application isn’t dependant on a remote server somewhere that might possibly fail. This also allows for the application to work when no network connection is available – though of course with some limitations.
- Twitter – 75% more Tweets and reduced size of their app by over 97%.
- Tinder – Increased engagement and reduction in size from 30MB to 2.8MB.
- The Guardian
- Financial Times
Native apps still serve a valid purpose: PWA’s are definitely not a straight replacement for traditional native applications. They benefit from the global audience of the web, but it can be hard to actually get users to install new applications on their devices. You also miss out on interacting with the iOS market.
Cross-browser support: all of the major modern web browsers now support PWAs with many continuously implementing more features. Microsoft and Google seem to be the leaders, so expect their browsers to work best.
Skimped on the technical stuff: I did skip over the technicalities of actually building a PWA, going into detail would turn this post into a dissertation. Though there are some great tools out there: