PWA kombinují dosah webu s capabilities nativních aplikací — offline podpora, push notifikace, instalace na home screen. Google definuje nový standard.
Web vs nativní: falešná dichotomie¶
Tradiční pohled staví web proti nativním aplikacím. Web má dosah (URL, žádná instalace), nativní mají capabilities (offline, notifikace, hardware přístup). PWA slibují obojí.
Google definuje PWA jako webové aplikace, které jsou:
- Reliable** — fungují offline nebo na pomalém připojení
- Fast** — okamžitá reakce na interakci
- Engaging** — push notifikace, fullscreen, home screen ikona
Service Workers: základ PWA¶
Service Worker je JavaScript proxy mezi aplikací a sítí:
// sw.js - Service Worker
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open('v1').then(function(cache) {
return cache.addAll([
'/',
'/css/app.css',
'/js/app.js',
'/offline.html'
]);
})
);
});
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
return response || fetch(event.request);
})
);
});
Service Worker cachuje assety při instalaci a servíruje je z cache — aplikace funguje offline.
Web App Manifest a instalace¶
Web App Manifest je JSON soubor popisující aplikaci:
{
"name": "CORE Systems App",
"short_name": "CORE",
"start_url": "/",
"display": "standalone",
"background_color": "#040c0f",
"theme_color": "#00d4ff",
"icons": [
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
]
}
Chrome na Androidu zobrazí Add to Home Screen banner — uživatel instaluje webovou aplikaci jako nativní, bez app store.
Push notifikace a budoucnost¶
Push API umožňuje posílat notifikace i když je aplikace zavřená — klíčová feature pro engagement.
Aktuální stav podpory:
- Chrome/Android** — plná podpora PWA
- Firefox** — Service Workers a push notifikace
- Safari/iOS** — omezená podpora (žádné push notifikace)
- Edge** — v přípravě
Safari je největší překážka masové PWA adopce. Apple má ekonomický zájem udržet App Store jako jediný kanál.
Závěr: budoucnost distribuce aplikací¶
PWA mají potenciál změnit způsob, jakým uživatelé získávají aplikace. Pro firmy to znamená jeden codebase, žádné app store poplatky a okamžité aktualizace. Sledujte vývoj Safari podpory — to rozhodne o úspěchu PWA.