This article originally appeared on the Prime Design Solutions website.
Table of contents
Related articles
What is a PWA?
Simply put, a Progressive Web App, or PWA, is a website that functions in a way similar to a downloadable, native mobile app. A PWA can be installed and accessed via an icon on your home screen – and can even function offline.
How does it work?
While native apps are written in Java (Android) or Swift (iOS), PWAs are essentially websites and can be developed using just HTML, CSS and JavaScript – or something a bit more complex using server side languages! This makes PWA development very versatile, giving developers plenty of wiggle room.
What makes a PWA a PWA, however, is something called a service worker. The service worker script manages background syncing, push notifications, and other features that make websites behave more like a native app would. There are also a few other types of files to help define icons, caching, and installation behaviors.
How does it differ from an app?
Creating cross-platform apps (apps that can function on both Android and iOS) can be challenging. Native apps typically have to be developed for a particular operating system (like Android or iOS) using a programming language compatible with that operation system. If you want an app that functions well on both Android and Apple devices, you have to write the code twice: once for Android and once for Apple.
PWAs can function in native app-like ways on both iOS and Android using the same code… while also being accessible as a website/web app in all browsers on all devices.
What makes PWAs so great?
There are some very real advantages PWAs have over native apps. To name a few:
Easier to maintain: PWAs have only one set of code, so there is only one set of code to update and maintain.
Easier to update: Any updates made to the information or design of the PWA will appear for all installations as soon as they are made. (Important caveat: updates can’t be received if the user isn’t connected to the internet to receive them, but the cached version of the app should still be able to function offline.)
No app store drama: Each time a native app is updated, it has to be reviewed and approved by auditors before it can appear in the Google Play Store or Apple’s App Store. This usually takes about 24 hours, but can take much longer. Apple’s auditors can also be notoriously hard to please and have denied apps/updates over something as simple as the design of a particular icon. With PWAs, you are in complete control of publishing updates. (It’s also worth noting that you can submit your PWA to certain app stores if you choose to!)
Easier for users to discover: They can be found using search engines.
Easier for users to share: PWAs can be shared just by sending a URL.
Designed responsively: PWAs are usable on any device as long as it has a screen and a browser. This includes phones, tablets, desktop computers, TVs, and more!
Progressively enhanced: While full-functionality might require the latest device or browser, PWAs are designed to have core usability on older systems as well.
What are some limitations to PWAs?
With all those advantages, why would you opt for an app instead of a PWA? Here are some reasons:
Inconsistent installation process across devices: While Android has fully embraced the idea of PWAs by allowing them to very easily be installed by a small popup prompt, Apple seems a bit more reluctant. While PWAs are still able to be installed on iOS devices, the method isn’t as straightforward; the prompt that appears on Android devices does not appear on Apple devices. To install a PWA, it needs to be opened in Safari, and added to the home screen via the “Share” button.
Offline availability: Offline availability can be a bit limited, especially if user logins are required (an internet connection would be required to manage the login process, as the processes for that cannot be cached).
Not able to add to all app stores: While Google and Microsoft both accept PWA submissions to their app stores, Apple does not.
What is the future of PWAs?
While native apps aren’t going anywhere for the next few years, the flexibility and affordability of PWAs continues to increase their popularity – and developers continue to push the limits of what they can do. As web and mobile technologies evolve, it seems likely that PWAs could very well eventually replace native apps.