Úvod k pracovníkom služieb JavaScript

Úvod k pracovníkom služieb JavaScript

Premýšľali ste niekedy nad tým, ako sa zdá, že niektoré webové stránky fungujú, aj keď ste offline? Tajomstvo je jednoduché: tieto webové stránky majú servisných pracovníkov.





najlepší správca súborov pre Windows 10

Servisní pracovníci sú kľúčovou technológiou mnohých natívnych funkcií moderných webových aplikácií podobných natívnym aplikáciám.





Čo sú to servisní pracovníci?

Servisní pracovníci sú špecializovaným typom Weboví pracovníci JavaScript . Service worker je súbor JavaScript, ktorý funguje trochu ako proxy server. Zachytáva odchádzajúce sieťové požiadavky z vašej aplikácie a umožňuje vám vytvárať vlastné odpovede. Môžete napríklad poskytnúť používateľovi súbory uložené vo vyrovnávacej pamäti, keď je offline.





Servisní pracovníci vám tiež umožňujú pridať do webových aplikácií funkcie, ako je synchronizácia na pozadí.

Prečo Service Workers?

Weboví vývojári sa už dlho snažia rozširovať možnosti svojich aplikácií. Pred príchodom servisných pracovníkov ste mohli použiť rôzne riešenia, aby to bolo možné. Obzvlášť pozoruhodný bol AppCache, vďaka ktorému bolo ukladanie zdrojov do vyrovnávacej pamäte pohodlné. Bohužiaľ mal problémy, ktoré z neho urobili nepraktické riešenie pre väčšinu aplikácií.



AppCache sa zdalo byť dobrým nápadom, pretože vám umožnila určiť aktíva, ktoré sa majú uložiť do vyrovnávacej pamäte, naozaj jednoducho. Vytvoril však veľa predpokladov o tom, čo ste sa pokúšali urobiť, a potom sa hrozne zlomil, keď vaša aplikácia tieto predpoklady presne nespĺňala. Prečítajte si knihu Jake Archibald (bohužiaľ s názvom, ale dobre napísaná) Aplikačná vyrovnávacia pamäť je douchebag pre viac detailov. (Zdroj: MDN )

Servisní pracovníci sú súčasným pokusom o zníženie obmedzení webových aplikácií bez nevýhod techniky, ako je AppCache.





ako prenášať hudbu z ipodu na itunes

Prípady použitia pre servisných pracovníkov

Čo presne vám teda pracovníci služieb nechajú robiť? Servisní pracovníci vám umožňujú pridávať funkcie, ktoré sú charakteristické pre natívne aplikácie, do vašej webovej aplikácie. Môžu tiež poskytnúť bežné prostredie na zariadeniach, ktoré nepodporujú servisných pracovníkov. Aplikáciám, ako je táto, sa niekedy hovorí Progresívne webové aplikácie (PWA) .

Tu sú niektoré z funkcií, ktoré pracovníci servisu umožňujú:





  • Umožniť používateľovi naďalej používať aplikáciu (alebo aspoň jej časti), keď už nie je pripojený k internetu. Servisní pracovníci to dosahujú poskytovaním prostriedkov uložených vo vyrovnávacej pamäti v reakcii na požiadavky.
  • V prehliadačoch založených na prehliadači Chromium je servisný pracovník jednou z požiadaviek na inštaláciu webovej aplikácie.
  • Servisní pracovníci sú potrební na to, aby vaša webová aplikácia mohla implementovať upozornenia push.

Životný cyklus servisného pracovníka

Servisní pracovníci môžu kontrolovať požiadavky pre celú lokalitu alebo len pre časť stránok lokality. Konkrétna webová stránka môže mať iba jedného aktívneho servisného pracovníka a všetci servisní pracovníci majú životný cyklus založený na udalostiach. Životný cyklus servisného pracovníka vo všeobecnosti vyzerá takto:

  1. Registrácia a stiahnutie pracovníka. Život servisného pracovníka začína, keď ho zaregistruje súbor JavaScript. Ak je registrácia úspešná, servisný pracovník stiahne a potom začne bežať v špeciálnom vlákne.
  2. Keď sa načíta stránka riadená servisným pracovníkom, servisný pracovník dostane udalosť „inštalácia“. Toto je vždy prvá udalosť, ktorú servisný pracovník dostane, a pre túto udalosť môžete v rámci pracovníka nastaviť poslucháča. Udalosť „install“ sa vo všeobecnosti používa na načítanie a/alebo uloženie akýchkoľvek zdrojov, ktoré servisný pracovník potrebuje.
  3. Keď servisný pracovník dokončí inštaláciu, dostane udalosť 'activate'. Táto udalosť umožňuje pracovníkovi vyčistiť nadbytočné zdroje používané predchádzajúcimi servisnými pracovníkmi. Ak aktualizujete servisného pracovníka, udalosť aktivácie sa spustí iba vtedy, keď je to bezpečné. Toto je, keď už nie sú načítané žiadne stránky, ktoré stále používajú starú verziu servisného pracovníka.
  4. Potom má servisný pracovník plnú kontrolu nad všetkými stránkami, ktoré boli načítané po úspešnej registrácii.
  5. Poslednou fázou životného cyklu je redundancia, ktorá nastáva, keď je servisný pracovník odstránený alebo nahradený novšou verziou.

Ako používať Service Workers v JavaScripte

Service Worker API ( MDN ) poskytuje rozhranie, ktoré vám umožňuje vytvárať a komunikovať s pracovníkmi služieb v jazyku JavaScript.