PWA (Progressive Web App)
How a PWA works: core building blocks
A PWA is not a separate technology but a set of capabilities layered on a standard website. Three components turn a regular web app into an installable, offline-capable one:
- Service worker: a JavaScript script that runs in the background, intercepts network requests, and caches assets. It enables offline access, background sync, and push notifications.
- Web app manifest: a JSON file declaring the app name, icons, start URL, theme colors, and display mode. It allows the browser to offer an "Add to Home Screen" install prompt.
- HTTPS: PWAs require a secure context. Service workers only register over HTTPS (localhost excepted), which is non-negotiable.
Because a PWA is served over the web, it is indexed by search engines and accessed via a URL, unlike apps locked inside an app store. Installation adds an icon to the home screen or desktop and launches the app in a standalone window without browser chrome.
PWA vs native app: what to choose
The decision between a PWA and a native (iOS/Android) app depends on the depth of device integration required, distribution strategy, and budget. A single PWA codebase serves every platform; a native strategy typically means separate iOS and Android builds.
| Criterion | PWA (Progressive Web App) | Native app |
|---|---|---|
| Codebase | Single web codebase, all platforms | Separate per platform (Swift/Kotlin or cross-platform framework) |
| Distribution | Direct via URL, no app store required | App Store / Google Play, with review process |
| Installation | "Add to Home Screen" from the browser | Download and install from the store |
| Offline support | Yes, via service worker caching | Yes, built in |
| Device API access | Broad but limited on some platforms (notably parts of iOS) | Full access to device hardware and OS APIs |
| Discoverability | Indexable by search engines | Found through app store search |
| Updates | Instant, server-side, no store approval | Pushed through the store, subject to review |
Capability parity is uneven across operating systems. Android and desktop browsers support most PWA features; iOS has historically been more restrictive, particularly for push notifications and some hardware APIs, though support has been expanding.
Business benefits and common use cases
For a B2B project, a PWA reduces the cost of maintaining multiple codebases while keeping the reach of the open web. The main advantages are:
- Single codebase: one application to build, test, and maintain across mobile, tablet, and desktop.
- No store dependency: no submission delays, no platform commission, instant updates pushed to all users.
- Offline resilience: cached assets and data keep the app usable on unstable or absent connections.
- Discoverability and shareability: every screen has a URL that can be linked, indexed, and bookmarked.
- Lower install friction: users can try the app instantly in the browser before installing.
Typical use cases include internal business tools and dashboards, field applications used in low-connectivity environments, customer portals, e-commerce storefronts, and content-heavy platforms where SEO and fast loading matter. A PWA is less suited to products that depend on intensive hardware access or platform-specific features only a native build can guarantee.
Questions fréquentes
Have a mobile app project? We help you choose the right technical approach and build it.
See our mobile app expertiseDéfinitions liées