Una introducció als treballadors del servei JavaScript

Una introducció als treballadors del servei JavaScript

Alguna vegada us heu preguntat com sembla que alguns llocs web continuen funcionant fins i tot quan esteu fora de línia? El secret és senzill: aquests llocs web tenen treballadors de servei.





Els treballadors de serveis són la tecnologia clau darrere de moltes de les funcions natives semblants a les aplicacions web de les aplicacions web modernes.





Què són els treballadors de serveis?

Els treballadors de serveis són un tipus especialitzat Treballadors web de JavaScript . Un treballador de servei és un fitxer JavaScript que funciona una mica com un servidor intermediari. Capta les sol·licituds de xarxa sortints de la vostra aplicació, cosa que us permet crear respostes personalitzades. Podeu, per exemple, servir fitxers a la memòria cau a l'usuari quan estigui fora de línia.





per què el meu joc continua fallant

Els treballadors del servei també us permeten afegir funcions com la sincronització en segon pla a les vostres aplicacions web.

Per què els treballadors del servei?

Els desenvolupadors web fa temps que intenten ampliar les capacitats de les seves aplicacions. Abans que arribessin els treballadors del servei, podríeu utilitzar diverses solucions per fer-ho possible. Un particularment notable va ser AppCache, que va fer que els recursos de caché siguin convenients. Malauradament, tenia problemes que la convertien en una solució poc pràctica per a la majoria d'aplicacions.



AppCache semblava una bona idea perquè us permetia especificar actius per a la memòria cau amb molta facilitat. Tanmateix, va fer moltes suposicions sobre el que estaves intentant fer i després es va trencar horriblement quan la teva aplicació no seguia exactament aquestes suposicions. Llegeix el de Jake Archibald (desgraciadament titulat però ben escrit) La memòria cau d'aplicacions és un Douchebag per a més detalls. (Font: MDN )

millor reproductor de Blu Ray per a Mac

Els treballadors del servei són l'intent actual de reduir les limitacions de les aplicacions web, sense els inconvenients de tecnologia com AppCache.





el servei de perfil d'usuari ha fallat en iniciar la sessió a Windows 10

Casos d'ús per als treballadors del servei

Aleshores, què et deixen fer exactament els treballadors del servei? Els treballadors del servei us permeten afegir funcions que són característiques de les aplicacions natives a la vostra aplicació web. També poden oferir una experiència normal en dispositius que no admeten els treballadors del servei. Aplicacions com aquesta de vegades s'anomenen Aplicacions web progressives (PWA) .

Aquestes són algunes de les funcions que els treballadors del servei fan possibles:





  • Permetre que l'usuari continuï utilitzant l'aplicació (o almenys parts d'ella) quan ja no estigui connectat a Internet. Els treballadors del servei ho aconsegueixen oferint actius en memòria cau en resposta a les sol·licituds.
  • Als navegadors basats en Chromium, un treballador del servei és un dels requisits perquè una aplicació web es pugui instal·lar.
  • Els treballadors del servei són necessaris perquè la vostra aplicació web pugui implementar notificacions push.

El cicle de vida d'un treballador de serveis

Els treballadors del servei poden controlar les sol·licituds d'un lloc sencer o només d'una part de les pàgines del lloc. Una pàgina web concreta només pot tenir un treballador de servei actiu i tots els treballadors de servei tenen un cicle de vida basat en esdeveniments. El cicle de vida d'un treballador de serveis generalment és el següent:

  1. Alta i descàrrega del treballador. La vida d'un treballador de serveis comença quan un fitxer JavaScript el registra. Si el registre té èxit, el treballador de servei es descarrega i després comença a executar-se dins d'un fil especial.
  2. Quan es carrega una pàgina controlada pel treballador del servei, el treballador del servei rep un esdeveniment 'instal·lació'. Aquest és sempre el primer esdeveniment que rep un treballador del servei i podeu configurar un oient per a aquest esdeveniment dins del treballador. L'esdeveniment 'instal·lació' s'utilitza generalment per obtenir i/o emmagatzemar a la memòria cau qualsevol recurs que el treballador del servei necessiti.
  3. Quan el treballador de servei acaba d'instal·lar-se, rep un esdeveniment d'activació. Aquest esdeveniment permet al treballador netejar els recursos redundants utilitzats pels treballadors del servei anteriors. Si esteu actualitzant un treballador del servei, l'esdeveniment d'activació només es dispararà quan sigui segur de fer-ho. Això és quan no hi ha pàgines carregades encara utilitzant la versió antiga del treballador del servei.
  4. Després d'això, el treballador del servei té el control total de totes les pàgines que es van carregar després d'haver-se registrat correctament.
  5. L'última fase del cicle de vida és la redundància, que es produeix quan el treballador del servei s'elimina o se substitueix per una versió més nova.

Com utilitzar els treballadors del servei en JavaScript

L'API Service Worker ( MDN ) proporciona la interfície que us permet crear i interactuar amb els treballadors del servei en JavaScript.