Development · Term

Progressive web app (PWA)

A progressive web app (PWA) is a website built so that it can be installed on a phone or computer like an app, open in its own window, keep working with a poor connection and, where supported, send notifications.

A PWA is still a website. It lives at a web address, works in a browser and is updated by updating the site. What makes it progressive is that it adds app-like abilities on devices and browsers that support them, while working as a normal site everywhere else. There is usually no app store involved, although some stores accept PWAs.

A PWA is not the same as a native app built for iOS or Android. Native apps can use more device features and appear in app stores by default; PWAs reach every platform from one codebase and avoid store review and fees. Which is right depends on what the app needs to do.

How it works

Three pieces usually make a site a PWA. It is served over HTTPS. It has a web app manifest, a small file that gives the app's name, icons, colours and how it should open; together with HTTPS, this is what lets browsers offer to install it. And it has a service worker, a script that the browser runs in the background between the page and the network, which provides the offline and notification features.

The service worker is where the app-like behaviour comes from. It can store copies of pages, styles and data on the device, a form of caching, so the app opens instantly and can show content when the connection drops. It can queue actions taken offline, such as a submitted form, and send them when the device reconnects. With the visitor's permission, it can also receive push notifications.

Support differs between platforms. Installation, offline storage and notifications work widely on Android and desktop browsers, while support on iPhones and iPads has historically been narrower and has changed over time. A PWA should therefore be designed to work well as a plain website and treat the extra features as a bonus.

Example

A landscaping company's crews use a simple job app on their phones to see the day's addresses, tick off tasks and add photos. It is built as a PWA. Crews install it from the browser to their home screen, and it opens like any other app.

Gardens are often in areas with weak signal. The service worker keeps the day's job list on the phone, and photos and completed checklists taken offline are stored and uploaded once the phone reconnects. Updating the app means deploying the website; nobody waits for store approval or has to install an update by hand.

Why it matters for your business

A PWA can give customers or staff an app-like experience for the cost of a well-built website, without separate iOS and Android projects or app store fees and reviews. It suits tools used repeatedly, such as booking, ordering, field work or loyalty schemes. For a typical brochure site, it adds little: most visitors will never install a site they visit once. Before choosing, check which device features the app needs and whether they are available to web apps on the phones your users actually carry. If the answer is uncertain, a short prototype tested on a few real devices settles it faster than reading compatibility tables.

Common mistakes

  • Turning a brochure site into a PWA and prompting every first-time visitor to install it.
  • Caching pages so aggressively that visitors keep seeing old content after the site is updated.
  • Asking for notification permission on the first visit, before people know why they would want it.
  • Assuming every feature works identically on iPhones and Android phones without testing both.

Questions people ask

What is the difference between a PWA and a native app?

A PWA is a website with app-like features that runs in the browser engine and is installed from the web. A native app is built specifically for iOS or Android and installed from an app store. Native apps have deeper device access; PWAs share one codebase across platforms.

Can a PWA be in the app store?

It can on some platforms. PWAs can be listed in some app stores, either directly or wrapped in a thin native shell, depending on each store's rules. Most PWAs are simply installed from the browser instead, which avoids store review and fees altogether.

Do PWAs work on iPhones?

Yes, they can be added to the home screen and opened like an app, but support for some features has historically been more limited on iOS than on Android and has changed over time. Test the specific features you need on current iPhones before relying on them.

Related terms

Have something worth building right?