Developing and maintaining apps can be challenging, not only do you have to support multiple platforms all running on different technologies, but you also have the hassle with all kinds of app stores, licenses, and whatnot.
Luckily, there is a solution and that's where Progressive web apps (PWAs) come into play. Progressive web apps are websites that use modern browser technologies to achieve a similar feature set as native apps. However, they have the advantage that you only have to maintain a single codebase.
First thing first, this article does not go into technical details. It is meant to be an introduction to PWAs and what you can and can't do with them.
So let's dive in.
What they can do
Progressive web apps or PWAs, as mentioned above, are nothing more than websites that run in the browser. They are built using web technologies such as HTML, CSS, and JavaScript. But what makes a PWA different from a regular website is that they use special browser features (APIs) to mimic the feel and functionality of a real native application.
The web
The first advantage of Progressive web apps is the web platform itself. The web is omnipresent on different devices and operating systems and free to all. Web applications can therefore reach anyone, anywhere, on any device that has a web browser. More about that later.
Browser APIs
The ever-improving and broader set of web and browser APIs allow PWAs to enter use cases that were previously reserved for native applications only. Some of these include:
- Offline Mode
- Background Sync
- Homescreen Installation
- Access to Camera and Microphone
- File Access
- Geolocation
- Push Notification
- Network Status
- And many more
However, this is just the tip of the iceberg. PWAs can achieve much more these days. If you want to learn more about that, then we can recommend this site: What Web Can Do Today.
Responsive UI
Since progressive web apps can run on different platforms and devices, they should also adapt to each of them.
This is where PWAs have another advantage over native apps. They can adapt to any device and screen size. This means you can use the same app on mobile and desktop devices. Furthermore, you can use native elements from the individual platform. This way you can make a web app look like a native app.
Distribution
As we have already heard, Progressive Web Apps can be installed on the home screen and work offline. But the fact that a progressive web app is just a website, has a major advantage that you don't have to install it. To share a PWA you just need to share the link. That's it.
Nevertheless, if you want to distribute your web application through app stores, you can now do so on a limited basis. Google allows PWAs to be published to the Google Play Store.
Updating
Progressive web apps give you the possibility to release updates faster and more frequently. This is because you do not have to implement the same function and fix the same bug several times. Moreover, the update doesn't have to go through app store reviews first. Also, you can easily update the app in the background without prompting the user.
As you have seen, you can do a lot with PWAs. Unfortunately, as with all technologies, Progressive Web Apps come with some drawbacks that need to be considered. In the next section, we will take a closer look at these disadvantages.
What they can’t do
Not all that glitters is gold. This is also true for Progressive Web Apps. In this section, we take a look at the drawbacks you should consider before choosing PWAs for your next app.
Browser compatibility
Let's start with the biggest disadvantage of PWAs. Browser Compatibility.
Even though the line between web apps and native apps is becoming more and more blurry, you have to remember that PWAs are still basically websites. Websites that have to be executed somewhere. The W3C just defines the standards, but how and especially when these features are implemented is left to the browser vendors. That's why it can often take a long time until certain features are available in all major browsers. For instance, push notifications. Although it's possible to send push notification via a PWA, this feature isn't implemented on many browsers yet.
Therefore, compatibility between browsers (especially with newer features) is an important aspect to always bear in mind.
Missing APIs
Furthermore, if you need to access certain features like ARKit on iOS or ML Kit on Android, PWAs won't be a good choice either, since all communication with the device is done through the web browser and there is no way to access these APIs directly.
Distribution
As we have heard, a progressive web app can be very well distributed, but there is one thing that should be considered. If the app is to be distributed mainly through app stores, PWAs are not the best choice. Even if Google allows PWAs on their Play Store, there is still the Apple App Store and, most recently, the Huawei App Gallery.
Conclusion
Now, we have looked at some pros and cons of PWAs and the Web Platform.
Also, we at AboutBits like to use the Web Platform for our customer projects, since it is quick and easy to develop for and you can reach a much larger audience with it.
In conclusion, PWAs are here to stay. But they won't make native apps completely extinct, at least not in the next few years.
We hope that this article has helped you to decide whether a PWA is suitable for your next app or not. If you interested to learn more about PWAs or already thinking about building one, but have doubts about certain parts? Go ahead and shoot us an email. We are very happy to help.