Zkratka PWA

  • řeší vývoj aplikací pro různé platformy
  • aplikace dodávaná přes web
    • možnost ji nainstalovat do počítače
    • z hlediska systému se tváří jako nativní aplikace (může využívat HW zdroje)
    • browser je na pozadí, takže to běží v prohlížeči, ale není vidět
  • ikonka je potřeba (aby se mohla zobrazovat na ploše pc, telefonu apod.)

PWA Manifest

  • JSON soubor, který definuje níže uvedené věci, které jsou potřeba pro “instalaci” aplikace
  • definuje:
    • název aplikace
    • link na ikonku aplikace
    • preferovaná URL pro start aplikace
    • konfigurační data
    • display mode (např. full-screen)

Service workers

  • skripty, které běží na pozadí v prohlížeči a umožňují funkcionalitu PWA offline
  • mohou mít přístup k prohlížeči i když aplikace není zapnutá
  • cachování fetch() - uživatel bez internetu nic nepozná dokud nepřejde na stránku, která není zacachovaná
  • nemají přístup k DOMu
  • umí notifikace do systému
    • proto běží i když aplikace není zapnutá
    • to jsou ty upozornění, jeslti mi stránka může posílat push-notifikace
  • využívají se také na bitcoin-mining
    • když přistoupím na nějaký malicious web

Data Storage

  • WebStorage
    • je perzistentní, klíč=hodnota
    • větší prostor než v Cookies
  • proč ukládat něco na straně klienta?
    • zase při práci offline - se moje změny (které jsou uložené ve frontě změn) se pak aplikují až se připojím na internet
  • sdílení dat mezi více okny prohlížeče

Indexed Database API - nahradilo deprecated WebSQL

  • velikost je daná prohlížečem (teoreticky neomezená)
  • je to NoSQL databáze, ukládá JSON objekty
  • cachování, offline perzistence

WebSockets

  • trvalé spojení s klientem (statefull), hlavičky se posílají jen jednou
  • nutné implementovat nějaký svůj komunikační/aplikační protokol
  • pro zpracování vyžaduje speciální server
  • server 0.0.0.0 - je otevřený pro všechny IP adresy
  • efektivnější než HTTP Polling - kdy se klient v intervalech ptá serveru na nové informace
  • využití
    • hry, chaty, burzovní aplikace, monitoring, streaming

Další API