A progressive web app (PWA) is a website built so that it can behave much like an installed app: it can sit on the home screen, open in its own window without browser toolbars, load quickly on repeat visits and keep working with a poor or missing connection. For many businesses it promises "an app" without building and maintaining separate Android and iOS versions. That promise is real, but it comes with limits worth understanding before you plan around it.
How a progressive web app works
A PWA is an ordinary web application with three additions:
- HTTPS. The site must be served securely. This is a requirement for the features below, and you can confirm a certificate is valid with our SSL checker.
- A web app manifest. A small JSON file that tells the browser the app's name, icons, colours and how it should open, for example in a standalone window.
- A service worker. A script the browser runs in the background, separate from the page. It can intercept network requests and answer them from a local cache, which is what makes offline use and fast repeat loads possible.
A minimal manifest looks like this:
{
"name": "Field Orders",
"short_name": "Orders",
"start_url": "/",
"display": "standalone",
"icons": [{ "src": "icon-512.png", "sizes": "512x512", "type": "image/png" }]
}
The word "progressive" refers to progressive enhancement: the app works in any modern browser, and gains extra capabilities where the browser supports them.
The business benefits
One codebase for every platform
The same application serves desktop, Android and iOS users. You build features once, fix bugs once and release once. For small teams this can significantly reduce ongoing cost compared with maintaining a website plus two native apps.
Instant updates
There is no app store review queue. When you deploy, users get the new version on their next visit (once the service worker updates). Urgent fixes reach everyone quickly.
No install barrier
Users can start using a PWA from a link, with nothing to download. Installing to the home screen is optional. That suits occasional users, such as customers checking an order, who would never install a dedicated app.
Discoverability
Because a PWA is a website, its public pages can be indexed by search engines and shared as ordinary links.
Offline and poor-network resilience
With a well-designed caching strategy, a PWA can load its interface instantly and show previously fetched data without a connection. Some apps also queue changes made offline and send them when connectivity returns.
The limitations to plan around
Uneven support across platforms
Browsers do not all support the same capabilities. Chromium-based browsers on Android and desktop generally offer the widest PWA support. Apple's Safari on iOS supports installation to the home screen and, in recent versions, web push notifications for installed web apps, but some background and hardware features available elsewhere are not supported. Because this landscape changes from release to release, check current support for each specific feature you need rather than relying on general statements. The PWA guidance on web.dev is a good starting point.
Limited hardware and system access
Native apps can use Bluetooth peripherals, NFC, advanced camera controls, background location, widgets and deep integration with the operating system. Web APIs for some of these exist but are not available in every browser. If your product depends on such features, a PWA alone may not be enough.
Background work is restricted
Operating systems tightly limit what a web app can do when it is closed. Continuous background tracking or long-running background sync are generally the domain of native apps.
Install prompts are less familiar
Many users do not know they can install a website. On iOS the process involves the Share menu, which you may need to explain with an on-screen hint.
App store presence takes extra steps
A PWA does not automatically appear in app stores. It is possible to package a PWA for some stores (for example, Android apps can wrap a PWA using a Trusted Web Activity), but each store has its own rules, and Apple's App Store is generally not receptive to apps that are simply a wrapped website.
When a PWA is a good fit
- Internal business tools used by staff on a mix of devices: order taking, stock checks, approvals.
- Customer portals and dashboards where people sign in occasionally.
- Content and catalogue experiences that benefit from fast repeat visits.
- Early product versions where you want to validate demand before investing in native apps.
When to look at native instead
- The app depends on Bluetooth devices, NFC, background location or other deep hardware access.
- App store presence is central to how customers find you.
- You need the most polished platform-specific experience, such as complex gestures, widgets or tight integration with system features.
- Heavy processing, such as advanced image or video work, must run on the device.
Many companies combine the two: a PWA for broad reach and a native app for power users. Our mobile app development and web application development teams often scope both options side by side so the trade-off is explicit.
Practical tips if you build one
- Decide what must work offline and design caching around it; "everything offline" is rarely necessary.
- Version your service worker and test the update flow, or users may be stuck on stale code.
- Test on real iOS and Android devices, not just desktop browsers.
- Provide a clear, non-intrusive prompt explaining how to install.
Key takeaways
- A PWA is a website with a manifest and service worker that can install, launch and work offline like an app.
- Benefits: one codebase, instant updates, no install barrier, search visibility.
- Limits: uneven browser support, restricted hardware and background access, weaker app store presence.
- Check current support for each feature you depend on before committing.