Qual è la differenza tra Web Worker e Operatori di servizio nelle app Web progressive

2

Nel contesto di Progressive Web Apps (PWA) ci sono due termini che sto cercando per capire meglio:

Qual è la differenza tra loro e il loro uso previsto? Sono simili in qualche modo? O potrebbero essere in qualche relazione?

Nella mia attuale comprensione, un Service Worker è veramente il fondamento di un PWA; ovvero l'oggetto che abilita un'app Web come app "registrabile" per la piattaforma mobile, consente funzionalità offline e così via.

Mentre un Web Worker è un'entità che consente l'esecuzione di codice [JavaScript] in un thread in background, non-UI con tutte le conseguenze che ne derivano (come ad esempio la manipolazione DOM diretta).

    
posta Igor Soloydenko 06.09.2018 - 20:29
fonte

1 risposta

1

NOTA: ho letto i link che hai dato e ho cercato di capire. Non ho altra esperienza con l'argomento. Dai documenti, entrambi i tipi di lavoratori sembrano processi daemon che ascoltano eventi provenienti dal "processo principale" di una pagina. Entrambi non hanno accesso al DOM e comunicano con il "processo principale" usando pipe o futures concettualmente simili.

Un Web Worker attende su una coda ed elabora messaggi (arbitrari) mentre li riceve. Può eseguire calcoli arbitrari o I / O, entro i limiti di sicurezza della pagina.

Un lavoratore del servizio attende una risorsa simile a un URL e gli elabora l'accesso quando viene richiesto. Può fare cose come routing, precaricamento, memorizzazione nella cache o sostituzione di una risorsa remota per una copia locale quando è offline. L'esempio del link che hai fornito lo spiega in dettaglio.

Probabilmente quest'ultimo può essere, ed è, implementato nei termini del precedente.

    
risposta data 07.09.2018 - 03:39
fonte

Leggi altre domande sui tag