[Atomic Glue](atomicglue.co)
WEB DEVELOPMENT
Home › Glossary › Web Development· 323 ·

Progressive Web App (PWA)

/prəˈɡrɛsɪv wɛb æp/noun
Filed underWeb DevelopmentMobile Development
In brief · quick answer

A website that behaves like a native app: installable, offline-capable, with push notifications and access to device features.

§ 1 Definition

A Progressive Web App (PWA) is a web application that uses modern browser APIs to deliver an app-like experience. PWAs are built with standard web technologies (HTML, CSS, JavaScript) but gain superpowers through service workers, web app manifests, and platform-specific APIs. Users can install them on their home screen, launch them in full-screen mode, receive push notifications, and use them offline. PWAs bridge the gap between web and native without requiring an app store submission.

§ 2 Core Technologies

Three things make a PWA. Service Worker: A JavaScript file that runs in the background, intercepts network requests, and serves cached responses for offline use. Web App Manifest: A JSON file that tells the browser how your app should behave when installed (name, icons, theme color, display mode). HTTPS: Service workers only work on secure origins, so HTTPS is mandatory. Without any of these three, you don't have a PWA.

§ 3 Installation and Discovery

PWAs are discoverable by search engines and linkable like any web page. When a user visits a PWA that meets the criteria (service worker registered, manifest present, HTTPS), the browser prompts them to install it. Installed PWAs appear in the app launcher, get their own window, and integrate with the OS task switcher. On Android, they can even register as share targets and intent handlers.

§ 4 PWA vs Native App

PWAs are lighter, cheaper to build, and don't require app store approval. But they have limitations: no access to all native APIs (Bluetooth, NFC, some sensor APIs), less deep OS integration, and inconsistent support across iOS. Native apps still win for hardware-intensive use cases, complex animations, and features requiring deep OS access. PWAs win for content-driven experiences, e-commerce, and utility apps.

§ 5 Note

iOS support for PWAs has historically lagged behind Android. As of iOS 16.4+ and Safari 16.4+, push notifications and home screen badges are finally supported, but full parity with Android is still evolving.

§ 6 In code

// Service Worker Registration
if ('serviceWorker' in navigator) {
  window.addEventListener('load', async () => {
    try {
      const registration = await navigator.serviceWorker.register('/sw.js');
      console.log('ServiceWorker registered:', registration.scope);
    } catch (error) {
      console.error('ServiceWorker registration failed:', error);
    }
  });
}

§ 7 Common questions

Q. Does a PWA work on iOS?
A. Yes, but with caveats. iOS supports service workers and manifests since iOS 11.3, but push notifications only arrived in iOS 16.4. Some features like Bluetooth and background sync are still unavailable on iOS.
Q. Can a PWA make money like a native app?
A. Yes, but through different channels. PWAs can use web payment APIs, subscription models, and ads. You can't sell PWAs through the App Store or Google Play in the traditional sense, but you can distribute them through app stores using tools like PWABuilder or Bubblewrap.
Key takeaways
  • PWAs are websites that can be installed and work offline.
  • Three requirements: service worker, web manifest, HTTPS.
  • Cheaper to build and maintain than native apps.
  • Limited native API access compared to true native apps.
  • Great for content, e-commerce, and utility applications.
How Atomic Glue helps

Atomic Glue builds PWAs that perform like native apps. We handle service worker strategy, manifest configuration, offline caching, and push notification setup. See our Mobile App Development services or get in touch.

Get in touch
# Progressive Web App (PWA)

A website that behaves like a native app: installable, offline-capable, with push notifications and access to device features.

Category: Web Development (also: Mobile Development)

Author: Atomic Glue Editorial Team

## Definition

A Progressive Web App (PWA) is a web application that uses modern browser APIs to deliver an app-like experience. PWAs are built with standard web technologies (HTML, CSS, JavaScript) but gain superpowers through service workers, web app manifests, and platform-specific APIs. Users can install them on their home screen, launch them in full-screen mode, receive push notifications, and use them offline. PWAs bridge the gap between web and native without requiring an app store submission.

## Core Technologies

Three things make a PWA. **Service Worker**: A JavaScript file that runs in the background, intercepts network requests, and serves cached responses for offline use. **Web App Manifest**: A JSON file that tells the browser how your app should behave when installed (name, icons, theme color, display mode). **HTTPS**: Service workers only work on secure origins, so HTTPS is mandatory. Without any of these three, you don't have a PWA.

## Installation and Discovery

PWAs are discoverable by search engines and linkable like any web page. When a user visits a PWA that meets the criteria (service worker registered, manifest present, HTTPS), the browser prompts them to install it. Installed PWAs appear in the app launcher, get their own window, and integrate with the OS task switcher. On Android, they can even register as share targets and intent handlers.

## PWA vs Native App

PWAs are lighter, cheaper to build, and don't require app store approval. But they have limitations: no access to all native APIs (Bluetooth, NFC, some sensor APIs), less deep OS integration, and inconsistent support across iOS. Native apps still win for hardware-intensive use cases, complex animations, and features requiring deep OS access. PWAs win for content-driven experiences, e-commerce, and utility apps.

## Note

iOS support for PWAs has historically lagged behind Android. As of iOS 16.4+ and Safari 16.4+, push notifications and home screen badges are finally supported, but full parity with Android is still evolving.

## In code

// Service Worker Registration
if ('serviceWorker' in navigator) {
  window.addEventListener('load', async () => {
    try {
      const registration = await navigator.serviceWorker.register('/sw.js');
      console.log('ServiceWorker registered:', registration.scope);
    } catch (error) {
      console.error('ServiceWorker registration failed:', error);
    }
  });
}

## Common questions

Q: Does a PWA work on iOS?

A: Yes, but with caveats. iOS supports service workers and manifests since iOS 11.3, but push notifications only arrived in iOS 16.4. Some features like Bluetooth and background sync are still unavailable on iOS.

Q: Can a PWA make money like a native app?

A: Yes, but through different channels. PWAs can use web payment APIs, subscription models, and ads. You can't sell PWAs through the App Store or Google Play in the traditional sense, but you can distribute them through app stores using tools like PWABuilder or Bubblewrap.

## Key takeaways

## Related entries


Last updated June 2025. Permalink: atomicglue.co/glossary/progressive-web-app-pwa-web-development

Schedule a call

30 min · Video call

1
Date
2
Time
3
Details