Progressive Web Apps (PWA) Explained
A progressive web app is a website that can be installed like an app: it gets an icon on the phone or computer, opens in its own window, can keep working with a poor connection and can send notifications. This guide explains what makes a website a PWA, how installation and push notifications work on Android, iPhone and desktop, where PWAs fall short of native apps, and when one is the right choice. It draws on MDN Web Docs, web.dev, the WebKit blog and Chrome's developer documentation, checked on 29 October 2026.
What a PWA is
MDN defines a progressive web app as "an app that's built using web platform technologies, but that provides a user experience like that of a platform-specific app". Like a website, it runs on many devices from one codebase. Like an installed app, it "can be installed on the device, can operate while offline and in the background, and can integrate with the device and with other installed apps".
The important point for a business owner: a PWA is still a website. It has a normal address, search engines can index it, and people can use it in the browser without installing anything. Installing is an extra, not a gate. MDN's introduction to PWAs puts it plainly: PWAs "are, as a matter of technology, still websites", run by a browser engine in the background.
That makes a PWA an upgrade path rather than a separate product. A well-built web app can become a PWA without being rewritten.
The parts: manifest, service worker, HTTPS
Three pieces turn a website into a PWA:
- A web app manifest. A small JSON file, linked from every page, that tells the browser the app's name, icons, start page and how it should open. MDN's guide to making PWAs installable lists what Chromium-based browsers (Chrome, Edge, Samsung Internet) require: a
nameorshort_name, icons at 192 and 512 pixels, astart_url, and adisplaymode. - HTTPS. A PWA must be served over a secure connection to be installable. Any business site should already have this.
- A service worker (optional, but most PWAs have one). MDN describes service workers as acting like "proxy servers that sit between web applications, the browser, and the network". This small script decides what to do with each request, which is what makes offline use and push notifications possible.
None of these change how the site looks. The work lies in deciding what should be cached, what should happen offline, and testing that updates reach users reliably.
How people install a PWA
Installation differs by device, and this affects how many people will actually install yours.
- Android and desktop Chrome or Edge. According to web.dev's PWA installation guide, Chrome and Edge on Windows, macOS, Linux and Chromebooks show an install icon in the address bar when a site is installable, and the browser may also invite engaged users to install it. You can add your own "Install" button as well. Once installed, the app appears in the launcher or start menu and opens in its own window.
- iPhone and iPad. There is no automatic install prompt. As the WebKit team describes in its announcement of iOS 16.4, people tap the Share button and then "Add to Home Screen". With a manifest whose display mode is standalone or fullscreen, the site then opens like any other app, not in Safari.
- Mac with Safari. Since Safari 17 on macOS Sonoma, users can choose File > Add to Dock, according to WebKit's Safari 17.0 notes.
Because iPhone users have to find the Share menu themselves, a short, friendly explanation on your site helps. Do not count on most visitors installing; design the app so it works well in the browser too.
Working offline
With a service worker, a PWA can keep the files it needs on the device and show useful screens without a connection: the last list of jobs, a saved order, a draft form that is sent when the signal returns. MDN notes that service workers are intended "to enable the creation of effective offline experiences".
Offline support is not automatic. Someone has to decide what to store, how long to keep it, and what happens when the same record is changed in two places. Data stored by a website is also "best-effort" by default: MDN's page on storage quotas and eviction explains that the browser can clear it when it needs space, and that an app holding data it cannot afford to lose can request persistent storage. Anything important should also be saved on the server as soon as possible.
Push notifications, including on iPhone
A PWA can send notifications to the device even when it is closed, using the standard Web Push, Notifications and Service Worker APIs. On Android and desktop browsers this has worked for years.
iPhone and iPad gained it with iOS and iPadOS 16.4. The WebKit announcement sets out the conditions: the web app must first be added to the Home Screen, and it may only ask for permission "in response to direct user interaction", such as tapping a subscribe button. Once allowed, the notifications show on the Lock Screen and in Notification Center like any other app's, and users manage them in Settings. No Apple Developer Program membership is needed.
The catch is the first condition. On iPhone, someone who has not added your app to their Home Screen cannot receive its notifications. If reliable notifications to every iPhone user are central to your product, weigh that carefully.
PWAs and the app stores
A PWA does not need an app store; people install it straight from your site. If you want a store listing as well, MDN notes that an installable PWA can be packaged for stores such as Google Play and the Microsoft Store. For Android, Google's Trusted Web Activity lets an Android app open your PWA full screen, rendered by the user's browser, with the app and site verified as coming from the same developer.
Apple's App Store is a different case: a listing there generally means building an iOS app. Our guide to publishing on the App Store and Google Play covers the store side.
Where a PWA falls short of a native app
- Device features vary by browser. A PWA can only use what the browser offers, and Safari, Chrome and Firefox do not all support the same features. Check each feature you need on the devices your users actually have.
- Installing is up to the user, and on iPhone it takes several taps they have to discover themselves.
- Push on iPhone needs a Home Screen install, as described above.
- Local data is best-effort unless persistent storage is granted, so heavy offline use needs careful design.
- No App Store presence on iPhone without building an app.
Our guide Mobile app or web app? compares the options side by side, including hardware access and cost.
When a PWA is the right choice
A PWA is a strong fit when the product is mainly forms, lists, bookings, orders or dashboards; when your users are spread across iPhone, Android and desktop and you want one codebase; when a store listing is not essential; and when a light offline mode helps, such as viewing the last data in poor signal. It is a weaker fit when the app depends on hardware, heavy graphics, or notifications that every iPhone user must receive.
A common path is to launch as a PWA, learn how people use it, and add a native app later if the evidence calls for one. If the back end is an API from the start, a later mobile app can reuse it. Our guides to scoping a first version and what an app costs help with that planning.
Frequently asked questions
What is a progressive web app?
A website built with standard web technologies that can also be installed like an app: it gets an icon, opens in its own window, can work offline with a service worker and can send push notifications.
Do PWAs work on iPhone?
Yes. iPhone users add a PWA with Share and then Add to Home Screen, after which it opens like an app. Since iOS and iPadOS 16.4, Home Screen web apps can also receive push notifications after the user allows them.
Does a PWA need to be in the App Store or Google Play?
No. People can install it straight from your website. It can also be packaged for Google Play, for example with a Trusted Web Activity, while an App Store listing generally means building an iOS app.
Can a PWA work offline?
Yes, if it has a service worker that stores the files and data it needs. What works offline has to be designed, and important data should be saved to the server when the connection returns.
Is a PWA cheaper than a native app?
It usually means one codebase for all devices instead of separate apps, which reduces the work. The final cost still depends on the features, the data and the integrations the app needs.
Weighing a PWA against a native app? See how we approach web application development and mobile app development, see all our services, or email info@creahive.com.