„JavaScript“ paslaugų darbuotojų įvadas

„JavaScript“ paslaugų darbuotojų įvadas

Ar kada nors susimąstėte, kaip atrodo, kad kai kurios svetainės veikia, net kai esate neprisijungę? Paslaptis paprasta: šiose svetainėse dirba paslaugų darbuotojai.





Aptarnavimo darbuotojai yra pagrindinė technologija, užtikrinanti daugelį šiuolaikinių žiniatinklio programų į programas panašių funkcijų.





Kas yra paslaugų darbuotojai?

Aptarnavimo darbuotojai yra specializuota rūšis JavaScript žiniatinklio darbuotojai . Paslaugų darbuotojas yra „JavaScript“ failas, kuris veikia šiek tiek kaip tarpinis serveris. Jis sugauna iš jūsų programos siunčiamas tinklo užklausas, leidžiančias kurti pasirinktinius atsakymus. Pavyzdžiui, galite pateikti talpykloje saugomus failus vartotojui, kai jis neprisijungęs.





Paslaugų darbuotojai taip pat leidžia prie žiniatinklio programų pridėti tokių funkcijų kaip sinchronizavimas fone.

Kodėl paslaugų darbuotojai?

Interneto kūrėjai ilgą laiką bandė išplėsti savo programėlių galimybes. Prieš atvykstant aptarnavimo darbuotojams, galėjote naudoti įvairius sprendimus, kad tai būtų įmanoma. Ypač pastebimas buvo „AppCache“, dėl kurio išteklių kaupimas talpykloje buvo patogus. Deja, buvo problemų, dėl kurių jis buvo nepraktiškas sprendimas daugeliui programų.



Atrodė, kad „AppCache“ yra gera idėja, nes ji leido labai lengvai nurodyti išteklius, kuriuos norite išsaugoti talpykloje. Tačiau ji padarė daug prielaidų apie tai, ką bandėte padaryti, o tada siaubingai sugedo, kai jūsų programa tiksliai neatitiko tų prielaidų. Perskaitykite Jake'o Archibaldo (deja, pavadintą, bet gerai parašytą) Programos talpykla yra Douchebag daugiau detalių. (Šaltinis: MDN )

Aptarnavimo darbuotojai šiuo metu bando sumažinti žiniatinklio programų apribojimus be tokių technologijų kaip „AppCache“ trūkumų.





Naudojimo atvejai paslaugų darbuotojams

Taigi, ką konkrečiai leidžia jums padaryti paslaugų darbuotojai? Aptarnavimo darbuotojai leidžia prie žiniatinklio programos pridėti funkcijų, būdingų vietinėms programoms. Jie taip pat gali teikti įprastą patirtį įrenginiuose, kurie nepalaiko paslaugų darbuotojų. Tokios programos kartais vadinamos Progresyvios žiniatinklio programos (PWA) .

Štai keletas funkcijų, kurias teikia paslaugų darbuotojai:





  • Leisti vartotojui toliau naudotis programa (ar bent jos dalimis), kai jis nebėra prisijungęs prie interneto. Aptarnavimo darbuotojai tai pasiekia aptarnaudami talpykloje saugomą turtą atsakydami į užklausas.
  • „Chromium“ pagrindu veikiančiose naršyklėse paslaugų darbuotojas yra vienas iš reikalavimų, kad žiniatinklio programą būtų galima įdiegti.
  • Aptarnavimo darbuotojai yra būtini, kad jūsų žiniatinklio programa galėtų įdiegti tiesioginius pranešimus.

Paslaugų darbuotojo gyvenimo ciklas

Paslaugų darbuotojai gali valdyti visos svetainės arba tik dalies svetainės puslapių užklausas. Tam tikrame tinklalapyje gali būti tik vienas aktyvus aptarnavimo darbuotojas, o visi paslaugų darbuotojai turi įvykiais pagrįstą gyvavimo ciklą. Aptarnaujančio darbuotojo gyvenimo ciklas paprastai atrodo taip:

kaip pataisyti xbox one valdiklį
  1. Darbuotojo registracija ir atsisiuntimas. Aptarnavimo darbuotojo gyvenimas prasideda, kai „JavaScript“ failas jį užregistruoja. Jei registracija sėkminga, paslaugų darbuotojas atsisiunčia ir pradeda veikti specialioje gijoje.
  2. Kai įkeliamas aptarnavimo darbuotojo valdomas puslapis, aptarnavimo darbuotojas gauna „diegimo“ įvykį. Tai visada pirmas įvykis, kurį gauna aptarnavimo darbuotojas, ir jūs galite nustatyti šio įvykio klausytoją darbuotojo viduje. Įvykis „įdiegti“ paprastai naudojamas norint gauti ir (arba) talpykloje išsaugoti visus išteklius, kurių reikia paslaugų darbuotojui.
  3. Kai paslaugų darbuotojas baigia diegti, jis gauna „aktyvinimo“ įvykį. Šis įvykis leidžia darbuotojui išvalyti perteklinius išteklius, kuriuos naudojo ankstesni tarnybos darbuotojai. Jei atnaujinate aptarnavimo darbuotoją, aktyvinimo įvykis suaktyvės tik tada, kai tai bus saugu. Taip yra tada, kai nėra įkeltų puslapių, kuriuose vis dar naudojama senoji paslaugų darbuotojo versija.
  4. Po to aptarnavimo darbuotojas visiškai kontroliuoja visus puslapius, kurie buvo įkelti po sėkmingo užregistravimo.
  5. Paskutinis gyvavimo ciklo etapas yra perteklius, kuris atsiranda, kai aptarnavimo darbuotojas pašalinamas arba pakeičiamas naujesne versija.

Kaip naudoti „JavaScript“ paslaugų darbuotojus

Service Worker API ( MDN ) suteikia sąsają, leidžiančią kurti ir bendrauti su „JavaScript“ paslaugų darbuotojais.