What Are Progressive Web Apps (PWAs)?
Apps are all the rage, its almost as if calling something an ‘app’ gives it more status than calling it a website, regardless of what it actually does.
The current generation of internet users have been brought up in the app age, and with the explosion of internet usage on mobile devices, its natural for people to go looking for apps on their phone before even considering visiting a website.
Why would your business or organisation want to have an app instead of just a website, and what are the actual differences?
Once upon a time many moons ago the difference was pretty clear, apps ran on mobile devices, websites ran on desktop computers and laptops.
These days the distinction is much less clear because of responsive web design, which basically means modern websites adapt to mobile device displays, and look great on both desktop devices and mobile devices.
Apps still exist though, and in the last few years a new type of app has gained traction bridging the gap between a website and a traditional (native) app.
Native apps are apps that are developed for a specific mobile platform, like Android or iOS. They are written in code that is native to the platform, and these apps can’t run on other platforms. Native apps are the traditional type of app that has always been available on the app stores from the beginning.
· Native apps can be faster and perform better because they are written in code optimised for the device.
· Native apps can sometimes access more device hardware than a PWA, especially on Apple devices, for example a gyroscope sensor (however this is changing over time).
· Native apps can sometimes have superior abilities to display offline content.
· You have to develop a separate app for each platform.
· Native apps are only available on a specific app store.
· App stores impose all kinds of restrictions on how you can make money from an app, and demand a hefty cut of any prices you may charge through their payment system.
Progressive Web Apps (PWAs)
Progressive Web Apps (PWAs) are web-based apps that use service workers, manifests, and other web-platform features in combination with progressive enhancement to give users an experience on par with native apps.
PWAs look and behave just like regular web pages, however they also deliver functionalities identical to those provided by native apps.
· PWAs use a single code base, so the app can be deployed onto multiple platforms.
· Just like native apps, PWAs are fast, can work offline, send push notifications and use most features of a user’s device.
· PWAs are installable on a user’s device with an icon on the home screen.
· Unlike native apps, PWAs are linkable and discoverable outside of app stores.
· PWAs can sometimes be slower than native apps, depending on their content.
· Apple don’t yet allow PWAs to access all of a device’s features that a native app can.
So, is a PWA just a poor man’s native app?
Far from it, and in fact, in many scenarios PWAs are now being considered the more advanced, and more appropriate option.
From an end users’ point of view, there is no difference. A good PWA will offer an experience that is indiscernible from a native app. A user simply won’t know about or won’t care about the difference.
Google, Apple and Microsoft are encouraging developers to use Progressive web Apps (PWAs) instead of native apps when the app doesn’t actually require deep access to a phone’s hardware. The reason for this is that a PWA can offer a superior experience than a native app in many scenarios.
A general rule of thumb we use is this - if the app is doing various different operations, or providing various different functionality, then its likely better suited to a PWA. If its doing a single, specifc task, or is orientated toward being more useful on a mobile device than a desktop device, then its probably better suited to a native app.
Google are even converting some of their own more complex apps on the Play store to be PWAs and Apple have started removing a huge number of apps from their app store which they believe are better suited as PWAs.
There are many advantages to using a PWA as described above and an additional bonus is that the cost involved to further enhance your app will be significantly lower if it’s a PWA instead of a native app.
Another significant factor is the ability of your web developer to harness the capabilities of an existing framework to provide functionality for your app, instead of having to re-invent the wheel with native code. For example, we are able to use the power and flexibility of the Drupal framework as a ready-made platform for our clients PWAs. With native apps it becomes much more difficult to integrate existing frameworks.
In most scenarios, we would recommend a PWA over a native app unless you have very lightweight requirement where the app will do something very simple and specific.
One of the biggest concerns regarding PWAs we have heard from clients over the past couple of years is not being listed on the Google and Apple app stores, and the status and coverage that they would miss out on.
We publish our PWAs to the Apple, Google and Microsoft app stores as full purchasable and downloadable apps
Recently we have bridged the last remaining gap that between PWAs and native apps, by publishing our clients PWAs on all of the major app stores.
This has really been the final remaining reason why a native app would be chosen over a PWA for a reasonably complex app, and now that we have started to publish our PWAs on the app stores, we can offer almost all of the benefits of a native app with the added advantage of a single app codebase and lower development costs.
If you would like to discuss having an app developed, get in touch.