Kada je PWA pravi izbor
Tri konkretne situacije gdje PWA pobjeđuje nad nativnim:
1. Korporativne i B2B aplikacije. Zaposlenici ili poslovni partneri ne traže aplikaciju u App Storeu — dobivaju link e-poštom, kliknu "Instaliraj" i imaju je na početnom zaslonu. Bez Apple Developer Programa (99 USD/god.), bez čekanja na App/Google pregled.
2. Česta ažuriranja. PWA se ažurira čim promijenite kod. S nativnim morate čekati na App Store pregled (1–7 dana). Za proizvode u brzoj iteraciji to je velika prednost.
3. Ograničen proračun.Bez 30 % provizije Apple/Googlea na kupnje unutar aplikacije.
Što PWA tehnički omogućuje
Instalabilnost. Web App Manifest i Service Worker omogućuju "instalaciju" iz preglednika. Na Androidu se pojavljuje prompt "Dodaj na početni zaslon". Na iOS-u korisnik tapka Dijeli → Dodaj na početni zaslon. Aplikacija se pokreće u načinu cijelog zaslona bez URL trake preglednika.
Offline način. Service Worker sprema statičke resurse u predmemoriju (HTML, CSS, JS, slike); IndexedDB pohranjuje strukturirane podatke. Aplikacija radi bez interneta. Promjene se sinkroniziraju kad se uspostavi veza.
Push obavijesti. Web Push API šalje obavijesti čak i kad aplikacija nije otvorena. Na Androidu radi od 2014., na iOS-u od iOS 16.4 (2023.). Svi moderni telefoni ih podržavaju.
Pristup hardveru. Kamera (Camera API), lokacija (Geolocation), Bluetooth (Web Bluetooth, samo Android), datoteke (File System Access). Manji skup nego native, ali dovoljan za većinu poslovnih slučajeva uporabe.
Tehnologije koje koristimo
Next.js kao osnova. Service Worker generiramo s Workboxom ili ručno za specifične potrebe. Web App Manifest pripremamo ručno s preciznom konfiguracijom (icons, theme color, display mode, scope). Push obavijesti integriramo putem web-push knjižnice s VAPID ključevima.
Za offline sinkronizaciju gradimo na IndexedDB-u (putem idb knjižnice) ili SQLite-u putem WASM-a za složenije scenarije. Background Sync API za pouzdanu sinkronizaciju kad se veza vrati.
Hibridne alternative (Capacitor, Tauri)
Gdje PWA nije dovoljan — npr. trebate prisutnost u App Storeu/Play Storeu ili specifičan pristup hardveru koji nije dostupan na webu — koristimo Capacitor (Ionic) ili Tauri. To je web aplikacija omotana u native ljusku koja se može objaviti u storovima. Troškovi razvoja su i dalje znatno niži od full nativnog jer dijelite većinu koda između platformi.
Česta pitanja
Koja je razlika između PWA i native aplikacije?
+
Native aplikacija (React Native, Swift, Kotlin) distribuira se putem App Storea i Play Storea. PWA je web aplikacija koju korisnik "instalira" iz preglednika kao ikonu na početnom zaslonu. Izgleda kao native — cijeli zaslon, offline način, push obavijesti — ali bez 30 % provizije Apple/Googlea i bez čekanja na pregled.
Kada je PWA pravi izbor, a kada native?
+
PWA: korporativne aplikacije za zaposlenike, B2B portali, interni alati, e-commerce stranica kao aplikacija. Native: aplikacije za masovno potrošačko tržište (gdje prisutnost u App Storeu/Play Storeu ima marketinšku vrijednost), aplikacije s intenzivnom upotrebom hardvera (kamera AI, Bluetooth, AR/VR), igre.
Radi li PWA na iOS-u?
+
Da, iOS Safari podržava PWA od iOS 11.3 (2018). Manja ograničenja: push obavijesti zahtijevaju iOS 16.4+ (2023). Za poslovne korisnike iOS podrška je u praksi potpuna.
Koliko traje razvoj PWA?
+
Jednostavan PWA (web aplikacija + mogućnost instalacije + offline ljuska) 3–5 tjedana. Složeniji s offline sinkronizacijom, push obavijestima i integracijom nativnih funkcija 6–10 tjedana. Često razvijamo jedan PWA koji služi i desktop i mobilnim korisnicima.