What Is PWA and Should You Build It in 2022?
When Google first announced the introduction of progressive web applications in 2015, it sounded like PWAs would soon become the hottest tech trend and might even replace mobile apps. And while PWAs are still here, they did not really bring any major transformation to the world of mobile applications throughout all these years.
Yes, many big names such as Starbucks and Pinterest, switched to PWAs to deliver a better user experience. But should you really build a PWA in the upcoming 2022? In this article, we look at the state of progressive web applications in 2021 and consider the possible shifts in this state for the future.
What is a PWA exactly?
A progressive web application is an application that is delivered through the web but brings a native-like experience to users. An idea behind PWA is simple: to create a cross-platform solution that would work in both online and offline modes and provide a seamless user experience.
There are four cornerstones of a good PWA:
- Reliable: the app has to perform equally well under various network conditions. While the level of offline functionality will be different for every PWA, the main condition remains universal - a PWA should never break or become unresponsive.
- Responsive: a PWA should work and look equally well on all platforms and all screens.
- Engaging: a good PWA should provide a great user experience and be valuable for the user. Push notifications and home screen icons of PWAs contribute greatly to user experience and put them on the same page as native apps.
- Secure: PWAs are served over HTTPS and hence are designed with security in mind.
As for the main technologies behind a PWA, they are:
- A service worker aka the heart of any PWA. A service worker is a proxy layer between the frontend and the backend and all browser requests pass through it. Service workers cache the content for the PWA and this is how PWAs can work in an offline mode.
- An HTTPS protocol that ensures the security of your app - we’ve mentioned it already.
- An application shell is a skeleton of your graphic interface. You can think of it as a wrapper for a native application.
- Web App manifest which is a JSON file. It defines a number of things for your PWA and helps install it as a separate app on your mobile device.
- Push notifications are an important feature that every PWA has. While many PWAs are overdoing their push notifications (users start seeing them as spam rather than a helpful feature), they still remain highly requested.
In terms of distribution, a PWA can be installed or simply opened in a browser. But recently, PWAs started making their way into app stores because for the majority of users, it’s the easiest way to find and install an app. On the other hand, placing a PWA in an App Store or Play Market means that the app has to correspond to strict guidelines which can be hard to achieve. Also, app owners will have to pay a certain fee to either Google or iOS if the app is paid or has in-app purchases and this is something to keep in mind too.
A quick history of PWA distribution
The main selling point of PWAs was accessibility. Google wanted to make PWAs accessible for everyone and on every platform which is why they are cross-platform by nature.
However, not all browsers support PWAs: Desktop Firefox, Internet Explorer, and Facebook Mobile Browser chose not to support progressive web applications. There are also certain limitations with Safari: while this browser supports PWAs, it does not allow installation, push notifications, and a full-screen mode of the app (which are basically the core PWA features).
For a while, it was enough for PWAs to be present in your web browsers only. But as mobile began to rise, it soon became clear that it was time for PWAs to conquer mobile platforms as well. This is where issues began to appear.
PWA and mobile: are we here yet?
With the growing popularity of mobile, users began looking for apps in app stores mainly. And since the main selling point of PWAs was (and still is) accessibility, it was important that people could easily find PWAs in the mentioned app stores.
That presented a challenge for developers: how can you take a web app and turn it into a mobile one? Plus, we all know how particular Google and Apple are about the app store guidelines. A little bit painful, this whole thing, isn’t it?
It comes as no surprise that Google was the first who welcomed PWAs into the Google Play Store. Google developed a Bubblewrap CLI tool that helps transform a PWA into a TWA: trusted web activity. Hence, the app becomes suitable for the market and can be distributed in the app store.
Now, the real question is where do PWAs stand today, and is there any sense in developing a PWA when you can go with a native app instead?
The current state of progressive web applications
Despite the existing limitations for PWA distribution, these apps keep going strong and are adopted by such big brands as Uber, Spotify, and TikTok. As well, in many cases, PWAs prove to provide a more enjoyable user experience and a steadier performance than some native apps (and most web apps) so there is definitely a chance for great ROI if you decide to design a PWA. But in order to minimize the risks and make sure your PWA eventually makes it to the needed audience, it’s important to know what platforms accept PWAs and what are the expected trends.
Google and Microsoft work together to propel PWAs
It comes as no surprise that Google is interested in facilitating the process of making PWAs more suitable for the guidelines of Play Market and App Store. Microsoft joined Google and now two companies work together to come up with a new way of wrapping PWAs.
Google already has a Bubblewrap technology that facilitates PWA packaging for apps stores. Now, Microsoft developed a PWAbuilder that uses Bubblewrap under the hood and performs the same function. By introducing these new technologies, Google and Microsoft hope to make PWAs more accessible and facilitate their distribution so apps would correspond to the stores’ guidelines. This is especially important for distributing PWAs on iOS since Apple is very particular about what apps are allowed in the App Store.
The Fugu project
Recently, the Chromium team started Project Fugu which takes its name after the Fugu fish: a famous delicacy from Japan. The trick is, this fish is deadly poisonous if cut wrongly. But if handled right, the result will be 100% worth it.
So how does Fugu fish relate to PWAs? The main idea behind the Fugu Project is to add new capabilities to web apps while preserving their core features (i.e. security, low-friction, cross-platform). This is done by producing new powerful APIs which, if handled wrongly, can do more harm than good (see the similarity to the Fugu fish?) The list of produced APIs includes:
- Web OTP API
- Web NFC
- Contact Picker API
- Periodic Background Sync API
As for the APIs under development, they are:
- Native File System API: enabling the app to interact with files on a user’s local device.
- Badging API: enhancing PWAs with a notifying badge.
- App Icon Shortcut Menu: a native capability that allows triggering certain actions from the home screen.
And obviously, that’s not all that Project Fugu plans to offer. To sum up, by introducing this project, Google hopes to unlock more native device features for progressive web applications and bridge the gap between the web and the mobile.
Apple declines 16 APIs in Safari
Last year, Apple declined to include 16 new Web APIs in Safari due to privacy concerns. What it means for PWAs is that to bring a PWA to iOS, you’ll need to wrap it as a native app and distribute it via Apple’s store. Don’t forget that Apple’s guidelines for its apps are not PWA-friendly so making a PWA app for iOS has become a big headache for developers. So the most efficient way to bypass these limitations is to use a PWA builder by Microsoft that generates an XCode package for your PWA app (you’ll need a Mac for this, though).
While progressive web applications did not make any wow effect in recent years, they are still going strong and are here to stay. Hence, if you think about building a PWA app, it’s probably a good idea, except you might not want to target iOS users. But overall, the development of a PWA app is rewarding in the long run, as these apps provide a great user experience and stable performance. And considering how engaged Google and Microsoft have become in PWA distribution, we might assume that the future of progressive web applications looks really bright.
Irina is a professional copywriter with over 7 years of experience in this domain. She loves creating compelling and informative copy that provides readers with all the needed information. Irina is also a frequent contributor to different blogs and websites across different domains.View all articles by this author.