Cross-Browser PWA Limits
Do not write a PWA support matrix from memory. Browser behavior changes and platform vendors make different trade-offs.
Practical Matrix
| Capability | Chrome/Edge | Safari/iOS | Firefox | Guidance |
|---|---|---|---|---|
| Manifest install | Strong | Manual Add to Home Screen flow | Varies by platform | Test target browsers |
| Service workers | Strong | Supported with platform limits | Supported | Keep first load usable without worker control |
| Push notifications | Strong on supported platforms | Requires current OS/browser verification | Varies | Test real devices before promising |
| Background Sync | Limited but useful in Chromium | Not universal | Limited | Always add foreground fallback |
| Periodic Background Sync | Experimental/limited | Do not rely on it | Limited | Avoid for critical work |
| File Handling API | Strongest on desktop Chromium/Edge | Limited | Limited | Progressive enhancement only |
| Store wrappers | Microsoft Store/TWA routes | Native wrapper policy risk | Not a store route | Treat as distribution-specific work |
Verification Rule
For each target, record:
- browser and version
- OS and version
- install path tested
- offline reload result
- storage persistence result
- notification permission and delivery result
- background sync result if used
- update behavior result