Let’s get the terminology out of the way first!
A native app is what you’re used to: it’s an app that you download from the App Store (if you’re an iPhone user) or from Google Play (for Android users). Traditionally, this is how all apps were distributed.
A progressive web app (PWA) is distributed directly by its owner, rather than via an app store.
PWAs are a recent innovation and to understand their benefits, we need to highlight two key issues that apply to native app development.
Build it twice
The mobile phone market is dominated by two alternative systems: iOS is the system used on all Apple devices, such as iPhones and iPads, and Android is the system used on pretty much everything else.
Therefore, if you’re going to create an app for your business, you need to have it developed in both formats if you want to make your app available to the widest audience. And this represents an extra cost to you: you will need to pay your developer to create the app once for iOS devices and then create it a second time for Android devices.
Depending on the complexity of your app and the skillset of your developer, they may be able to build a single app and generate both the iOS and Android versions from there but that’s not typical.
In either case, once you’ve built a version of your native app, you must get it published in the appropriate app store so that it’s available for people to download. This can be more of a challenge than you might first think: Apple tightly control which apps they allow in their App Store and there are numerous reasons why they might reject your app. They publicise these reasons openly but disputes over rejection often come down to interpretation of the rules.
From your point of view as a business owner, you face the possibility of spending time and money planning, designing and building your app, only to find Apple or Google refuse to list it in their app store and, consequently, your efforts are wasted!
These two reasons - the additional cost of developing your app twice for both types of mobile phone system and the risk of not getting your app published in an app store – contributed to the rise in popularity of an alternative type of app: the progressive web app.
Progressive web apps
A PWA is built in the same way as a website, with a few key differences. Typically, a website won’t function - or even be visible - if the user doesn’t have Internet access. Well-designed PWAs, on the other hand, accommodate this possibility and continue to function, even if it’s in a limited way, regardless of whether the user is currently online. This mimics the behaviour a user would expect of a native app.
As a PWA is really just a website designed to look and function like an app, it’s accessed in the same way as a website: via a web address.
Your PWA is not published via an app store; instead, you host it in the same way as you host your website and you can direct visitors to your app just as you would send people to your website.
And just as we don’t need to create different versions of our website for users with different phone systems, there’s no need to create different versions of your PWA for iOS and Android users either: your PWA is a single app, which can be used by anyone regardless of the type of mobile phone they own.
How do I decide between developing a native app or a PWA?
You’d be right to think that developing a PWA is a simpler proposition compared with a native app: there’s no obligation to create two versions for the different phone systems and there’s no risk of not getting the app published.
But before you decide that a PWA is the way to go, there are benefits to a native app that might sway your view.
Native apps can access all available features on a mobile device, such as GPS tracking, movement tracking, Bluetooth, the photos and videos stored on the device, the calendar and mobile payments such as Apple Pay and Google Pay.
PWAs can only access a subset of these, although this is trending in the right direction as more features have become accessible by PWAs in recent years.
Native apps can also receive push notifications: messages sent from the app’s owner to its users which typically trigger a pop-up message notifying that user about something new. PWAs running on Android devices can receive push notifications too but iOS users cannot. (This is true at the time of writing - January 2022 - although everyone involved in app development hopes that Apple will join the party soon!)
One other point to consider: a well-built native app, whether it’s running on iOS or Android, feels like a proper app. It allows user interaction using gestures familiar on that type of device. For instance, an iOS user would instinctively slide left to delete something or pull down to force their screen to refresh.
Experienced users might feel that the equivalent app built as a PWA "doesn’t quite feel right” and while the app might function correctly, the user’s aware that things feel a little different.
It’s too simplistic to conclude that a native app is necessarily better than a PWA: as is always the case with technology, it’s important to pick the right horse for the course.
If your priority is to develop for your business a highly functional, high-performing app, you might lean towards native app development. If your requirements are less technically demanding, or if you want to prove a concept with a working prototype before embracing full app development, a PWA might suit your circumstances perfectly.