๐Ÿ“ฑ
Websites

PWA (Progressive Web App): site or app?

15.01.2026
โ† All articles

A PWA (Progressive Web App) is an ordinary website that works like a mobile app. It installs to the phone's screen, works offline, sends push notifications โ€” but no App Store or Google Play needed. Open it in a browser, tap "Add to Home Screen" โ€” done.

Why PWA?

1) One codebase โ€” all platforms (iOS, Android, desktop). 2) No App Store commission (30%). 3) Instant updates. 4) Quick install via a link. 5) SEO โ€” indexed as a normal site.

3 core components

1. HTTPS โ€” mandatory. 2. Manifest โ€” name, icon, color. 3. Service Worker โ€” JS for offline work and caching.

The manifest file

manifest.json โ€” app information:

{
"name": "Sayt.uz",
"short_name": "Sayt",
"start_url": "/",
"display": "standalone",
"theme_color": "#1a1a6e"
}

Link it in the head: <link rel="manifest" href="/manifest.json">

Service Worker

This JS runs in the browser background. Tasks: 1) Caching files (for offline). 2) Intercepting network requests. 3) Receiving push. 4) Background sync.

Offline mode

If the Service Worker caches pages, the site works even without internet.

Push notifications

With user permission you can send messages even when the site is closed. For e-commerce: "Your cart is waiting", "Sale started". But don't overdo it.

Drawbacks

1) Some features are limited on iOS. 2) Complex native functions are limited. 3) Not visible in the App Store (but that's also a plus).

Who is it for?

1) News, blog, content. 2) E-commerce. 3) Service sites. 4) One-off campaigns. Native is only needed for heavy games or deep device integration.

Lighthouse PWA audit

Chrome DevTools โ†’ Lighthouse โ†’ PWA section. Checks manifest, service worker, HTTPS.

Sayt.uz practice

Sites built with the Sayt.uz builder can have PWA features โ€” manifest and service worker are added automatically.

Related articles

๐Ÿ˜• Useful 404 pages ๐Ÿ’ฌ Adding live chat and a chatbot to your site ๐Ÿ’ช Gym website: booking ๐ŸŽ“ School/University site structure
๐ŸŒ Language
๐Ÿ‡บ๐Ÿ‡ฟ O'zbek ๐Ÿ‡บ๐Ÿ‡ฟ ะŽะทะฑะตะบ ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ๐Ÿ‡ฌ๐Ÿ‡ง English โœ“