You might have heard about progressive web applications and how cool they are. But, maybe you aren’t quite sure what they actually are or how they’re different from other apps out there. Well, you’ve come to the right place.
Google developed progressive web apps (PWAs) to give mobile web apps features that were previously associated with native apps. At the same time, progressive web apps are simpler and faster to install and start using than native apps—there’s no need to even go searching around in an app store. Instead, PWAs are meant to be discoverable out on the World Wide Web, which means businesses can use SEO know-how to make their PWAs easier for users to find.
What makes progressive web apps different?
To repeat: a PWA is a web app (not a hybrid app, or at least not in the way most of us know them) with improved functionality. Users can “install” progressive web apps with minimal fuss right from the mobile browser—PWAs are simply web pages that get pinned to the home screen.
The difference is that progressive web apps provide a more native app-like experience for users than web apps or web clips. PWAs can specify properties such as their icon, name, and splash screen, and can send push notifications.
PWAs also boast offline usability, thanks to browser support for service workers. Now, functionality will depend on how much an individual app requires an internet connection for its core features, but that’s the same with any app. This could mean basic app functionality remains even if you lack access to the internet, such as access to cached assets and articles, for example, if you’re using the Flipboard PWA.
There is one downside to progressive web apps not going through any app store: no quality control. However, that doesn’t mean PWAs are completely insecure. Developers have to register service workers over HTTPS, and PWAs still don’t have nearly as much access to the OS as native apps.
As progressive web apps are a Google project, Android boasts the best support, though PWAs are accessible on iOS, too. (If you want to know more about Google’s implementation, their documentation is here.)
The PWA experience on Android
The major web browsers on Android, like Chrome (naturally), Firefox, Opera, and Edge all work with service workers. Chrome provides the easiest PWA installation experience for users.
For Chrome, developers can display a small web banner to highlight that a web app can be installed and function as a progressive web app. This one-touch installation experience is currently superior to all other browsers. The banner may appear the first time someone lands on the mobile site, or when they return for a second or third time.
Other browsers, such as Firefox, can have pop-up banners as well. It requires a couple additional button taps (click the banner, then Add to Home Screen, and one final confirmation banner) but it’s arguably still smoother than being redirected to the app store to get a native app, as it never redirects you from the mobile site.
On Android, PWAs can take full advantage of the service worker scripts, providing push notifications, as well as background sync and the ability to save files more than 50 MB in size.
The PWA experience on iOS
Apple finally (and quietly) included support for service workers in iOS 11.3. Progressive web apps get support in app switcher, where you see the actual app name and not just “Safari” like with web clips.
However, there are some caveats to service worker support in iOS. The big two are that Apple does not support push notifications or background sync. PWAs do have Apple Pay support (since Apple Pay works on the web), but not In App Payments. PWAs also cannot access Bluetooth, Touch ID or Face ID, Siri, or private information.
Unlike Android, installation is more of a manual process. There’s no suggestion web banner, instead users have to select the Share button and then the Add to Home Screen button. This reduces the chance of app discovery on iOS, especially if the user is unaware there is a progressive web app available.
A lot of people (by which I mean Jack at least, while he was editing this) approach PWAs as if they’re just an Android thing right now. And they wouldn’t be completely wrong, considering the differences!
For the moment, Apple seems content with kneecapping PWAs (again, not a shock why—no money in their pocket if not in the App Store), limiting some of their usefulness and app discovery possibilities. Still, the company did add support for service worker in 2018, so it’s possible Apple may eventually allow push notifications and more.
When we first started looking into progressive web apps, we didn’t realize the rabbit hole we were going down and all the different information there is to cover. We plan to cover the differences between PWA and native and hybrid apps, as well as potential enterprise use cases, for future articles—so be on the lookout!