Progressive Web Apps in 2021: Will They Die or Thrive?
What to expect of PWAs in 2021: browser support, distribution, new capabilities, new requirements and more.
Join the DZone community and get the full member experience.Join For Free
Back in 2015, when Google first introduced progressive web apps, we heard a lot of promises. PWAs were supposed to become the next big thing for mobile users, bridging the gap between mobile websites and native apps. Rumors had it that PWAs would replace the native apps altogether and that mobile app developers had to get ready for the change.
Five years later and native mobile apps, as well as their developers, are still well and healthy. What went wrong?
In our humble opinion, it is a combination of the lack of support from the ecosystem and not enough of a push in terms of innovations from Google. Huge market players are still reluctant to support PWAs, while the web app capabilities are yet to be matched to the native ones.
Nonetheless, there is still a lot of progress in the world of the mobile web. More browsers, more capabilities, more distribution options, as well as other perks made PWAs attractive for businesses.
What to Expect of PWAs in 2021?
Although most of the popular browsers support PWAs now, there is no 100% compatibility.
- Desktop Firefox
- Internet Explorer
- Facebook Mobile Browser.
Also, there is a caveat with Safari. Although it provides basic support for the PWAs, not all features are included. Here are the essential PWA features that Safari does NOT allow:
- push notifications
- full-screen mode.
In addition to this, in 2020 the WebKit, Safari’s engine, has announced that they are not going to support many of the APIs that give access to the native functionality. Examples of such unsupported features are Web Bluetooth, Web MIDI API, Magnetometer API, Web NFC API among others. They say it’s for privacy reasons, but this hinders the evolution of PWAs on iOS.
Firefox has also jumped on the privacy bandwagon and refused to support the PWAs beyond Firefox for Android.
However, the newcomers Windows 10X and Oculus have plans to fully support PWAs in 2021.
Distribution via Play Store, App Store, and Microsoft Store
Initially, Google has viewed application stores as an unnecessary step for PWAs. Users don’t need to find PWAs in stores, they can simply install them on the web with one button. After all, ‘less friction’ is the main selling point of PWAs. However, it turned out that users are used to getting their apps in Play Store, App Store, and Microsoft Store, so being there is an advantage.
Therefore in 2020, Play Store, App Store, and Microsoft Store started accepting progressive web apps.
Naturally, Google Play Store was the first one to welcome PWAs and has significantly simplified the process with its Trusted Web Activity.
Unfortunately, it is not so smooth with App Store. Since PWAs have limited functionality on iOS, it becomes hard or impossible to meet App Store guidelines and get admitted to the store. But there is a loophole. In 2020, Apple has come up with App-Bound Domains in WKWebView that developers use for in-app browsing. When App-Bound Domains are enabled the Service Worker API is enabled, so PWAs regain all features. This can make some PWAs eligible for App Store.
As for Microsoft, luckily they not only support PWAs but also have big plans of eventually replacing the native apps. So they do their best to make the Microsoft Store admission as simple as possible.
The Chromium team has started a project called Fugu, where Chrome developers work on adding new capabilities to web apps to help bridge the gap with the native apps. Other major players like Microsoft, Intel, and Samsung also contribute to this project. To date, the Fugu project has managed to produce many APIs for progressive web apps including, but not limited to:
- Web NFC
- Web OTP API
- Periodic Background Sync API
- Contact Picker API
What this means is that, hopefully, we’ll see more native functionality available for web apps in the nearest future.
New Requirements From Chrome
Recently, the Chromium team has announced a new standard for PWAs. From now on, to be considered a PWA and enable the app install prompt, it has to pass the offline experience test.
At the moment, Chrome’s standard for offline work is as follows: “a site has a fetch event handler which returns a response with 200 status code”. If you cannot meet this standard, your users won’t be able to install the app.
More Companies Are Launching PWAs
Despite the above-mentioned roadblocks, more and more companies are making PWAs their default. Here are some of the famous PWA adopters in 2020:
- Starbucks web-based ordering systems that can run offline and, when online, provide location-specific information.
- Uber - a PWA that matches their native app experience.
- Spotify - a PWA music player that performs even better than their native app.
- TikTok - a PWA version of the social media platform.
Progressive web apps didn’t have a straight-line trajectory of success, as Google has initially planned. Both Apple and Firefox are not ready to fully commit to PWAs and they are a huge part of the market. Their official concern is privacy, but, perhaps, what they are really afraid of is that users will switch to PWAs, and App Store will lose sales.
Nonetheless, these web apps have been slowly but steadily growing and getting the recognition of the well-known brands. We hope Google and other PWA supporters will come up with reliable ways to preserve user privacy so that Apple and Firefox couldn’t use the privacy excuse anymore.
Opinions expressed by DZone contributors are their own.