Distribution Surfaces
Treat distribution as a product choice. Browser install is the default. Store wrappers are extra release channels with policy and signing work.
flowchart TD
web[Web app URL] --> browserInstall[Browser install]
web --> desktopInstall[Desktop app surface]
web --> mobileHome[Mobile home screen]
web --> msStore[Microsoft Store package]
web --> twa[Android TWA]
web --> iosWrapper[iOS wrapper]
msStore --> partner[Partner Center]
twa --> play[Play Store]
iosWrapper --> appStore[App Store review]
Surface Comparison
| Surface | What ships | Good for | Main risk |
|---|---|---|---|
| Browser tab | Normal website | Universal access | No app icon or app switcher presence |
| Browser install | Same website plus manifest identity | Fast install, desktop/mobile retention | Browser-specific prompts and criteria |
| Microsoft Store | Package generated from PWA metadata | Windows discovery and enterprise install flows | Partner Center, package identity, metadata updates |
| Android TWA | Android shell that opens verified PWA URL | Play Store distribution for web-first apps | Digital Asset Links, signing, Play policy, browser dependency |
| iOS wrapper | Native shell or WebView app | App Store presence when justified | Review policy and native-value expectations |
Packaging Rule
Package only after the web app passes browser PWA quality gates. A wrapper amplifies app quality; it does not fix broken offline, bad icons, poor performance, or unclear permissions.