Pwa And Os Integration
A PWA is a web app that installs and behaves like a native app -- no app store, no download, no driver. Understanding installation is the foundation for every OS integration API in this chapter.
The entire App Store ecosystem was invented to kill something Steve Jobs had already shipped.
In 2007, the original iPhone shipped with no App Store. Jobs announced that third-party apps would run in Safari -- web apps, full-screen, on the home screen. That was the plan. A year later, the App Store replaced it.
The browser kept building toward that original vision anyway. What Jobs described in 2007 is what we now call a PWA.
What a PWA Actually Is
A PWA is a web app that can be installed on a device and behaves like a native app. It gets:
- Its own icon on the home screen or desktop
- A standalone window with no browser address bar
- An entry in the OS task switcher
- The ability to launch from the OS like any other app
There is no binary to download. No app store submission. No review process. The user visits your website, the browser offers an install prompt, and the app lands on their device. Updates are silent -- the next time the PWA launches, it fetches the latest version from the server.
Installing on Each Platform
Desktop (Chrome/Edge): An install icon appears in the address bar when the browser detects a valid web app manifest. Clicking it installs the PWA. After that, the app appears in the Start Menu on Windows and in the app launcher on macOS. It shows up in Alt+Tab and the taskbar like any other program.
iOS (Safari): Tap the Share button, then "Add to Home Screen." The PWA gets an icon on the home screen and opens full-screen, with no browser chrome visible. Safari on iOS has supported this since before the App Store -- it predates the concept.
Android (Chrome): Chrome shows an "Add to Home Screen" banner or a prominent install button. On Android, the browser actually compiles a minimal APK for the app. The result is a standalone entry in the app drawer and launcher.
The same web app installs and behaves natively on all three platforms with a single codebase.
Why Most Apps Aren't PWA
The technology works. The business case is more complicated.
The App Store provides things a PWA can't match: storefront discoverability, in-app purchase infrastructure, and -- for a long time -- push notifications on iOS. Native app developers were also reluctant to hand over distribution to the web when the store was driving most installs.
Apple's support for PWAs was historically buggy. For years, iOS PWAs silently lost storage, broke IndexedDB, and had undocumented limitations that didn't affect native apps. Apple shipped push notification support for installed iOS PWAs in Safari 16.4 in March 2023. It took 16 years.
The business case requires owning the distribution channel. Frontends Masters, for example, benefits from being in app stores -- store placement, IAP, and the install trust signal matter for their audience. Many companies do the same calculation.
PWAs work best when you own your user relationship directly: your users already know your URL, they trust your brand, and they want the "app experience" without friction.
ExpandPWA installation: the three platform flows -- desktop, iOS, and Android
What Installation Unlocks
The OS integration APIs in this chapter are mostly available only to installed PWAs, not to websites running in a browser tab.
The reason is direct: these APIs reach into the operating system. File associations, protocol handlers, badge counts on icons, app shortcuts in the right-click menu -- these things only make sense when the app has a presence on the device.
A website in a tab cannot have a badge on an icon because there is no icon. An installed PWA can.
The next post covers window management -- the APIs for controlling the PWA's window position, multi-screen placement, and rendering content in the title bar. These are APIs that were invented in the 90s, quietly died when tabbed browsing arrived, and came back to life in PWAs.
The Essentials
- A PWA installs from the browser with no app store -- manifest + HTTPS + service worker.
- On desktop: install from address bar, runs in its own window, appears in OS task switcher and launcher.
- On iOS: Share → Add to Home Screen. On Android: Chrome install prompt, compiled as a lightweight APK.
- iOS push notification support for PWAs only arrived in Safari 16.4 (March 2023) -- this was a significant blocker for years.
- Most OS integration APIs in this chapter only work for installed PWAs, not regular browser tabs.
Further Reading and Watching
- Progressive Web Apps in 100 Seconds (YouTube) -- Fireship covers what makes a web app a PWA, the manifest, service worker, and install flow in under two minutes
- Learn PWA -- web.dev -- Google's comprehensive PWA curriculum covering installability, service workers, offline, and OS integration
Keep reading