Uvod v storitvene delavce JavaScript

Uvod v storitvene delavce JavaScript

Ste se kdaj vprašali, kako se zdi, da nekatera spletna mesta delujejo tudi, ko ste brez povezave? Skrivnost je preprosta: te spletne strani imajo storitvene delavce.





Storitveni delavci so ključna tehnologija, ki stoji za številnimi domačimi aplikacijami podobnimi funkcijami sodobnih spletnih aplikacij.





Kaj so storitveni delavci?

Storitveni delavci so specializirana vrsta JavaScript spletni delavci . Storitveni delavec je datoteka JavaScript, ki deluje podobno kot strežnik proxy. Ujame odhodne omrežne zahteve vaše aplikacije in vam omogoča ustvarjanje odzivov po meri. Uporabniku lahko na primer servirate predpomnjene datoteke, ko je brez povezave.





kako sestaviti pametno ogledalo

Storitveni delavci vam omogočajo tudi dodajanje funkcij, kot je sinhronizacija v ozadju, v vaše spletne aplikacije.

najboljši način za organiziranje google pogona

Zakaj storitveni delavci?

Spletni razvijalci že dolgo poskušajo razširiti zmogljivosti svojih aplikacij. Preden so se pojavili serviserji, ste lahko to omogočili z različnimi rešitvami. Posebej opazen je bil AppCache, ki je naredil predpomnjenje virov priročno. Na žalost je imel težave, zaradi katerih je bil za večino aplikacij nepraktična rešitev.



AppCache se je zdel dobra ideja, saj vam je omogočal, da zelo preprosto določite sredstva za predpomnilnik. Vendar pa je naredil veliko predpostavk o tem, kaj ste poskušali narediti, nato pa se je grozno zlomil, ko vaša aplikacija ni natančno sledila tem predpostavkam. Preberite Jakea Archibalda (na žalost z naslovom, vendar dobro napisano) Predpomnilnik aplikacij je neumnost za več podrobnosti. (Vir: MDN )

Storitveni delavci so trenutni poskus zmanjšanja omejitev spletnih aplikacij brez pomanjkljivosti tehnologije, kot je AppCache.





kako razvrstiti gmail po pošiljatelju

Primeri uporabe za storitvene delavce

Torej, kaj točno vam dovolijo storitveni delavci? Storitveni delavci vam omogočajo, da svoji spletni aplikaciji dodate funkcije, ki so značilne za izvorne aplikacije. Prav tako lahko zagotovijo normalno izkušnjo na napravah, ki ne podpirajo servisnih delavcev. Takšne aplikacije se včasih imenujejo Progresivne spletne aplikacije (PWA) .

Tukaj je nekaj funkcij, ki jih omogočajo servisni delavci:





  • Omogoča uporabniku, da še naprej uporablja aplikacijo (ali vsaj njene dele), ko ni več povezan z internetom. Storitveni delavci to dosežejo tako, da kot odgovor na zahteve strežejo predpomnjena sredstva.
  • V brskalnikih, ki temeljijo na Chromiumu, je servisni delavec ena od zahtev, da je spletno aplikacijo mogoče namestiti.
  • Storitveni delavci so potrebni, da vaša spletna aplikacija lahko izvaja potisna obvestila.

Življenjski cikel storitvenega delavca

Storitveni delavci lahko nadzorujejo zahteve za celotno spletno mesto ali samo del strani spletnega mesta. Določena spletna stran ima lahko samo enega aktivnega storitvenega delavca, vsi storitveni delavci pa imajo življenjski cikel, ki temelji na dogodkih. Življenjski cikel storitvenega delavca na splošno izgleda takole:

  1. Registracija in prenos delavca. Življenje storitvenega delavca se začne, ko ga registrira datoteka JavaScript. Če je registracija uspešna, se servisni delavec prenese in nato začne izvajati znotraj posebne niti.
  2. Ko se naloži stran, ki jo nadzoruje servisni delavec, storitveni delavec prejme dogodek 'namestitev'. To je vedno prvi dogodek, ki ga prejme storitveni delavec, in lahko nastavite poslušalca za ta dogodek znotraj delavca. Dogodek 'namestitev' se običajno uporablja za pridobivanje in/ali predpomnilnik vseh virov, ki jih potrebuje servisni delavec.
  3. Ko servisni delavec konča namestitev, prejme dogodek 'aktiviraj'. Ta dogodek omogoča delavcu, da počisti odvečne vire, ki so jih uporabljali prejšnji storitveni delavci. Če posodabljate storitvenega delavca, se bo dogodek aktiviranja sprožil samo, če je to varno. To je, ko ni nobene naložene strani, ki še vedno uporablja staro različico storitvenega delavca.
  4. Po tem ima servisni delavec popoln nadzor nad vsemi stranmi, ki so bile naložene po uspešni registraciji.
  5. Zadnja faza življenjskega cikla je redundanca, do katere pride, ko se servisni delavec odstrani ali nadomesti z novejšo različico.

Kako uporabljati storitvene delavce v JavaScriptu

API Service Worker ( MDN ) zagotavlja vmesnik, ki vam omogoča ustvarjanje in interakcijo s servisnimi delavci v JavaScriptu.