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.