Progressive web apps, or PWAs, are fully functional web applications that look and feel like native mobile apps to the end user. PWAs use an app-like UX to offer app-style gestures and navigation. PWAs have been optimized for mobile and use available web APIs to deliver features that are similar to the features a user would find in a traditional native app. Yet, since they’re developed for the web, they work on all devices. In this blog post, we’ll consider the pros and cons of PWAs over the use of a native or hybrid platform development option such as React Native or Flutter.
PWAs Have Limitations, Don’t They? Maybe Not!
There are two main reasons why developers choose not to use PWAs early on after their introduction in 2015:
• There were many limitations to their use, and so many developers and companies chose to ignore them, continuing to rely instead on native development or hybrid app frameworks like React Native.
• Many developers argue that apps that run on mobile should be developed using native technologies, since web apps typically don’t offer the same capabilities.
Let’s evaluate the pros and cons of PWAs and see whether these limitations hold true today.
1. Unlike Native Apps, PWAs Still Don’t Have Access to the Full Device Hardware
Native apps can access the full potential of the hardware the app runs on; this isn’t always possible on a web browser.
PWAs are limited by what is available in the web API and the capabilities of service workers. These limitations evolve over time and vary by browser and device. You can check the sites WhatWebCanDo and WhatPWACanDo for the current availability of features by browser.
The most significant issue is that PWA performance will lag somewhat behind the performance of a native app. For some, this is a deal-breaker. In reality, only a small percentage of apps really take advantage of this increased performance offered by a native app.
So it really depends on the app’s nature. We’ll elaborate more about this later on.
As both browsers and hardware improve, the performance gap will continue to get shorter and shorter.
2. Users Spend Most of Their Time in Native Apps, Not Web Sites
This may be correct, but it’s completely possible to package a PWA as a native app using technologies like Cordova, Ionic Capacitor, or Phonegap, among others. This technique can make it seem as if the PWA is a native app, even if in reality, it’s just a wrapper that uses a web-view under the hood. Taking this approach also makes it possible to implement an extensive selection of native plugins.
You could also add a home-screen shortcut, which can be served to the user as soon as the user enters the website.
3. With PWAs, It’s Not Possible to Have a Background Process and There’s No Offline Support
In the past, if you closed a tab in your browser (or closed the PWA), you killed the application.
Service workers change this limitation, enabling your web app to proxy network requests, perform background tasks, sync data, access a variety of native functionalities like caching, and provide offline support.
Service workers are becoming more and more common, because they are relatively easy to implement, and they provide cross-browser support.
4. Lack of support with legacy devices
Older mobile devices with outdated web browsers won’t be able to access all the features of a PWA. This limitation holds true today.
PWAs Have Benefits, Right? Yes, They Do!
The pros of PWAS often far out weight the cons.
1. PWAs Are Cost-Effective
PWAS can be a much more cost-effective way to develop and deliver a mobile app in a number of ways.
First, development costs are higher, as much as 10 times higher, for native apps than PWAs.
Second, native mobile apps are delivered through app stores. App stores can take a significant cut on your app revenues, with fees for advertising, paid-downloads or in-app purchases reaching 30% or more of your revenue. Add on developer program fees, and your costs go up. With PWAs, you don’t have any of these costs, unless you choose to publish via the app store.
2. You Don’t Need Specialized Mobile Technology Skills to Build a PWA
With PWAs, you can use your web development skills without needing extensive training on mobile-specific technologies. This means that there’s no reason to invest in having separate teams (for mobile and web), as these unify development.
3. You Get Faster Delivery Time
You can develop PWAs faster than native apps! Many developer tools allow you to test your code from your browser/IDE and simulate different platforms quickly and reliably.
4. You Get Options for Enriching Apps
A key concept in PWAs is to optimize the UI/UX for mobile devices, which are super-powered by the use of native functionality provided by the browser’s API. PWAs give developers a wide range of options for enriching apps. For example, service workers can speed performance, and developers use them for things like network request interception, caching strategies, and handling of push notifications. You can also integrate a web view wrapper like Cordova or Ionic Capacitor and share the same codebase between a web app and a mobile app.
5. You Get a Unified Codebase
When you develop an app as a PWA, you get one codebase that runs on every platform. This means you get much better options for E2E testing, code reusability, frontend frameworks (this is a big one!), a variety of web modules, documentation, troubleshooting, and more.
Should You Use PWAs? Of Course, If They Fit Your Requirements
So, are PWA’s still inferior to native and hybrid apps? It’s not a matter of superiority, it’s a matter of fit. In fact, I think many multi-platform native apps could easily have been developed as PWAs.
It’s clear after reviewing the pros and cons of PWAs that they offer excellent long-term benefits compared to native apps. And it’s only going to get better. As web APIs add new functionalities, increase compatibility with older devices, improve performance, and bring tools that facilitate the process of creating new native plugins (be sure to look into Ionic Capacitor!), the case for PWA development grows stronger. Unless your app requires specifics like device formats, such as wearables, home automation appliances, or optimal performance such as in a video game or a GPU-heavy app, the benefits of PWA development outweigh native and hybrid development.
PWAs are an excellent option for many businesses that just need a better mobile presence that don’t want to invest the money and time required to build a native app.