What Makes a Progressive Web App
Progressive Web Apps combine the reach of the web with the capabilities of native apps. A PWA loads like a web page but offers features traditionally associated with native applications — offline support, push notifications, home screen installation, and background sync. At Nexis Limited, we build PWAs for clients who need mobile-app-like experiences without the cost and friction of app store deployment.
Core PWA Technologies
Service Workers
Service workers are JavaScript files that run in the background, separate from the web page. They intercept network requests, manage caches, and handle push notifications. The service worker lifecycle — install, activate, fetch — gives developers control over what gets cached and how network requests are handled.
Web App Manifest
The manifest.json file provides metadata for the PWA — name, icons, theme color, start URL, display mode, and orientation. This metadata enables "Add to Home Screen" prompts and controls how the app appears when installed on a device.
HTTPS Requirement
PWAs require HTTPS for security — service workers can intercept and modify network requests, so the connection between the browser and server must be encrypted. This is enforced by all modern browsers.
Caching Strategies
Cache First (Cache, Falling Back to Network)
Serve from cache if available, fall back to network if not cached. Best for static assets (CSS, JavaScript, images) that change infrequently. Provides the fastest response times since cached resources load without any network request.
Network First (Network, Falling Back to Cache)
Try the network first, serve from cache if the network fails. Best for dynamic content (API responses, user data) where freshness matters but offline access is still valuable.
Stale While Revalidate
Serve from cache immediately (stale data), then update the cache from the network in the background. The next request gets the updated data. This provides the best perceived performance while keeping data relatively fresh.
Offline Experience Design
Offline support is not binary — it is a spectrum. Design your offline experience thoughtfully:
- Cache critical app shell (HTML, CSS, JavaScript) for instant loading.
- Cache recently viewed content for offline access.
- Queue user actions (form submissions, data changes) for sync when connectivity returns.
- Show clear offline indicators so users understand what is and is not available.
- Provide a meaningful offline fallback page rather than a browser error.
Push Notifications
Web push notifications re-engage users without requiring a native app. Key implementation considerations:
- Request permission at a contextually appropriate moment, not on first visit.
- Send relevant, timely, and valuable notifications — not spam.
- Allow granular notification preferences (order updates yes, marketing no).
- Test across browsers — notification APIs have subtle differences.
Performance Metrics
PWAs should meet these performance targets:
- First Contentful Paint: Under 1.5 seconds.
- Largest Contentful Paint: Under 2.5 seconds.
- First Input Delay: Under 100 milliseconds.
- Cumulative Layout Shift: Under 0.1.
- Time to Interactive: Under 3 seconds on 4G.
Conclusion
PWAs provide a compelling alternative to native apps for many use cases — especially content-driven applications, e-commerce, and tools where distribution through web URLs is more valuable than app store placement. Build PWAs thoughtfully, with genuine offline utility, and users will treat them like native apps.
Looking to build a PWA? Our web development team specializes in high-performance web applications.