Contents
A progressive web app (PWA) is a website that can be installed on a phone's home screen, run in its own window without an address bar, work offline and send push notifications. It can replace a mobile app when the product needs quick access, notifications and basic offline use, but not deep device features or a presence in the app stores.
Here is what a PWA can do, where its limits are and how to tell whether it fits your product.
What is a PWA and what can it do?
A PWA is a web app with a manifest and a service worker: the manifest describes how the app looks when installed, and the service worker runs in the background, caches files and data and receives push notifications. To users it looks almost like a regular app, just without a store install.
What a PWA can do:
- install on the home screen with an icon and launch in its own window;
- work offline or on a poor connection thanks to caching;
- send push notifications, including on iPhone for home-screen web apps since iOS 16.4;
- update instantly, without store publishing or review waits;
- be found in search and opened from a link, like any website.
How does a PWA differ from a native app?
A PWA differs from a native app in that it runs in the browser: cheaper to build and update, but with limited access to device features and no app store presence. Capability support also varies by platform: broader on Android, narrower on iOS.
| Criterion | PWA | Native or cross-platform app |
|---|---|---|
| Installation | From the website, no store | Via the App Store and Google Play |
| Updates | Instant, no store review | Through publishing and review |
| Push notifications | Yes; on iOS only for installed PWAs | Full support |
| Offline use | Yes, via service worker caching | Full support |
| Device features | Camera, location, basic APIs | Full access: background, Bluetooth, NFC and more |
| Search and links | Indexed, opens from a link | Needs a separate web version |
| Cost | Like a website plus a little extra work | Higher: platforms, stores, maintenance |
Photo: Unsplash
How do you turn a website into a PWA?
You turn a website into a PWA by adding a manifest, a service worker and HTTPS. That part is small; most of the time goes into designing offline flows and notifications.
{
"name": "Delivery Service",
"short_name": "Delivery",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#1e3a8a",
"icons": [
{ "src": "/icons/192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icons/512.png", "sizes": "512x512", "type": "image/png" }
]
}
// Register the service worker: file caching and push notifications
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js')
}
What to design separately
- Which data and pages must work offline.
- What happens to actions taken offline: a queue that sends them when the connection returns.
- When and what to notify about, so users do not switch notifications off.
- How to hint to users that the app can be installed.
When does a PWA fit and when does it not?
A PWA fits products that need quick access and notifications but not deep device features: ordering and booking services, customer portals, internal company tools, content products. A native or cross-platform app is needed when the product loses its value without device features or a store presence.
When a PWA is a good choice:
- the budget is limited and the product already works as a website;
- you want to test quickly whether users will return via an icon and notifications;
- internal apps for staff that do not need publishing;
- being findable in search matters.
When an app is better:
- you need background work, Bluetooth, NFC or advanced camera use;
- your audience looks for the product in the app stores;
- push notifications are critical for all iPhone users, including those who have not installed the PWA.
We covered choosing a technology for a full app in Flutter vs React Native vs native, and whether you need an app at all in mobile app or website.
How do you judge results after launching a PWA?
Judge results by user behaviour: how many install the app to the home screen, how often they return, how many subscribe to notifications and how this affects conversion. If the numbers are good, a PWA can remain the main solution for a long time.
What to track:
- the share of active users who install to the home screen;
- retention of those who installed versus everyone else;
- notification subscriptions and unsubscribes;
- mobile conversion and load speed — see Core Web Vitals.
In short
- A PWA is a website that installs on the home screen, works offline and sends notifications.
- Updates are instant, the cost is close to a website's and the product stays searchable.
- The limits are device feature access and no app store presence; iOS offers fewer capabilities.
- PWAs suit ordering services, portals, internal tools and testing demand for an app.
- If you need background features, Bluetooth or a store presence, choose an app.
FAQ
Can a PWA be published in the app stores?
In Google Play, yes, via a wrapper that packages the PWA as an app. The App Store is stricter: a thin wrapper around a website with no extra value may fail review.
Do PWA push notifications work on iPhone?
Yes, since iOS 16.4, but only if the user has added the web app to the home screen. Visitors who simply open the site in Safari cannot receive push notifications.
How much does it cost to turn an existing site into a PWA?
A basic manifest and service worker are a small job. The main cost is well-designed offline flows and notifications, which depends on how much must work without a connection.



