Back to the blog
PWA basics7 min read

What is a PWA? A practical guide to Progressive Web Apps

Learn what a Progressive Web App is, how installation and offline support work, which capabilities PWAs can use, and where they differ from native apps.

A Progressive Web App, or PWA, is a web application designed to behave reliably and feel at home on the device where it is running. It is delivered from a web address like any other site, but it can declare an app identity, be installed, launch in its own window and use selected browser and operating-system capabilities.

THE SHORT DEFINITION

A PWA is a website that progressively gains app-like presentation and capabilities when the user's browser and device support them.

Why the word “progressive” matters

The most important part of the name is not “app.” It is “progressive.” A PWA should still provide a useful baseline experience when a particular capability is unavailable. A visitor can follow a link and use the application in a browser; a compatible environment may then offer installation, offline behavior, shortcuts, notifications or deeper system integration.

This is progressive enhancement applied to application experiences. The publisher does not ship one identical capability set to every device. Instead, the application detects and uses what the current platform safely exposes. That makes a PWA portable, but it also means that screenshots from one operating system should not be treated as a promise for every other platform.

The three practical building blocks

01

A secure web origin

PWAs are served over HTTPS. Encryption protects content in transit and gives the browser a trustworthy origin to which permissions, storage and an installed identity can be attached. Local development is the usual exception.

02

A web app manifest

The manifest is a JSON document that describes how the application wants to appear when installed: its name, icons, start URL, color, scope, orientation and preferred display mode. Modern manifests can also declare shortcuts, screenshots, related native apps and richer window behavior.

03

Application logic for resilience

A service worker can sit between the application and the network to manage requests, caching, background events and updates. It enables many offline strategies, but simply registering one does not make an application meaningfully usable without a connection.

What can a PWA actually do?

There is no single switch that unlocks a standard bundle of PWA features. Capabilities come from separate web platform APIs, manifest declarations and operating-system integrations. Each one has its own support matrix, security requirements and permission model.

Resilient loading

A service worker can cache an app shell, previously visited pages or task-specific data. Offline support is a product choice, not an automatic PWA feature.

Installation

A compatible browser can add the app to a launcher or home screen and open it in a dedicated window without traditional browser chrome.

Notifications

Some platforms allow web push after explicit permission. Availability and prompting rules differ significantly by browser and operating system.

Linkable by default

The application keeps the web's core distribution model: a URL can be shared, indexed and opened without installing a package first.

Depending on the platform, a web app may also access the camera and microphone, share targets, files, the clipboard, geolocation, Bluetooth devices, serial devices, credentials and background events. These integrations are deliberately gated. They may require a user gesture, explicit permission, an installed context or a browser-specific policy.

What happens when you install one?

Installing a PWA does not usually copy the whole service into a sealed package. The browser records an application identity based on the manifest and creates an operating-system entry with the declared icon and name. When launched, the app loads its web start URL in the requested display mode.

Open the source URL
Browser reads the manifest
User approves installation
App launches from the device

Because the live application remains on its publisher's domain, updates can arrive through the web rather than a store review cycle. That convenience needs careful engineering: cached code, active tabs and a newly deployed version can coexist, so update behavior should be designed and communicated rather than left to chance.

Does PWA mean offline?

No. “Has a service worker” and “works offline” are different claims. A reading app might cache saved articles, a drawing tool might work entirely on the device, while a live collaboration or banking service may need a network connection for its core operation.

A useful technical report should therefore describe evidence, not just display a green offline badge. At PWAs.app we distinguish manifest declarations, static service-worker signals and behavior that can be verified at runtime. The meaningful question is: which tasks still work when the network disappears?

PWA versus a native app

ConsiderationPWANative application
DistributionDirect link, optional installation, sometimes storesUsually an app store or managed package
UpdatesPublished on the web, with cache lifecycle to managePackaged release downloaded by the device
ReachOne web codebase across many browsers and devicesPlatform-specific code or a cross-platform framework
System accessBroad but dependent on browser and OS supportUsually the deepest platform integration
DiscoverySearchable, linkable and usable before installationStrong store presence, limited web preview

Neither model is universally better. A PWA is compelling when immediate access, link-based distribution, cross-device reach and one deployment surface matter. Native development remains a stronger fit when a product depends on the newest platform APIs, intensive background execution, advanced graphics or a deeply platform-specific experience. Many teams use both.

The limitations worth knowing

  • Browser support is uneven. The same manifest field or API can behave differently across Chromium, Safari and Firefox.
  • Installation is not one universal button. The prompt, menu path and eligibility rules vary by browser and device.
  • Storage can be cleared. Important user data should not rely on unprotected browser storage alone.
  • Permissions still require trust. Installation does not make a service safe, endorsed or appropriate for sensitive data.
  • Store wrappers add another layer. Android packages built around a PWA can help distribution, but domain verification and platform policies still matter.

How to recognize a well-made PWA

Start with the experience rather than a badge. The app should have a clear purpose, responsive interface and understandable behavior when connectivity changes. Its manifest should identify the application consistently, include suitable icons and keep installed navigation within a sensible scope. Updates should not silently break a running task.

Technical checks help make those qualities visible. A PWAs.app catalog profile exposes the original URL, manifest location, display mode, icon purposes and detected capabilities. The score is a compact health signal, while the evidence underneath it is what explains how the application is built.

THE TAKEAWAY

A PWA is not a native app copied into a browser. It is the web using progressive enhancement to become more reliable, installable and integrated—without giving up URLs as its distribution layer.

PWA FAQ

Common questions about Progressive Web Apps

Is a PWA just a website?

A PWA is delivered as a website and uses web technologies, but it can also declare an app identity, launch in a standalone window, work with cached resources and use selected device integrations when the browser and operating system support them.

Do I need an app store to install a PWA?

Usually no. Compatible browsers can install a PWA directly from its website. Publishers may also distribute store packages that point to the same web application, but a store is not fundamental to the PWA model.

Can every PWA work offline?

No. Offline behavior is designed by each publisher. Some apps offer a complete offline workflow, some cache only the interface or previously visited content, and others still require a network connection for their core task.

Are all PWA capabilities available on every device?

No. Support varies by browser, operating system, permission policy and installed context. A manifest can request a capability or presentation mode, but the platform decides whether and how it is exposed.