Johdatus JavaScript-palvelutyöntekijöihin

Johdatus JavaScript-palvelutyöntekijöihin

Oletko koskaan miettinyt, kuinka jotkin verkkosivustot näyttävät toimivan myös offline-tilassa? Salaisuus on yksinkertainen: näillä verkkosivustoilla on palvelutyöntekijöitä.





Palvelutyöntekijät ovat avainteknologia monien nykyaikaisten verkkosovellusten alkuperäisten sovellusmaisten ominaisuuksien takana.





Mitä ovat palvelutyöntekijät?

Palvelutyöntekijät ovat erikoistuneita työntekijöitä JavaScript-verkkotyöntekijät . Service worker on JavaScript-tiedosto, joka toimii vähän kuin välityspalvelin. Se sieppaa lähtevät verkkopyynnöt sovelluksestasi ja antaa sinun luoda mukautettuja vastauksia. Voit esimerkiksi tarjota välimuistissa olevia tiedostoja käyttäjälle, kun hän on offline-tilassa.





mitä tehdä vanhalle kannettavalle tietokoneelle

Palvelutyöntekijät antavat sinun myös lisätä ominaisuuksia, kuten taustasynkronoinnin, verkkosovelluksiin.

Miksi palvelutyöntekijät?

Verkkokehittäjät ovat yrittäneet laajentaa sovellustensa ominaisuuksia jo pitkään. Ennen huoltotyöntekijöiden tuloa voit käyttää erilaisia ​​ratkaisuja tämän mahdollistamiseksi. Erityisen merkittävä oli AppCache, joka teki resurssien välimuistista kätevän. Valitettavasti siinä oli ongelmia, jotka tekivät siitä epäkäytännöllisen ratkaisun useimmille sovelluksille.



AppCache näytti olevan hyvä idea, koska sen avulla voit määrittää välimuistiin tallennettavia resursseja todella helposti. Se teki kuitenkin monia oletuksia siitä, mitä yritit tehdä, ja meni sitten kauheasti rikki, kun sovelluksesi ei noudattanut näitä oletuksia tarkasti. Lue Jake Archibaldin (valitettavasti nimetty, mutta hyvin kirjoitettu) Sovellusvälimuisti on Douchebag Lisätietoja. (Lähde: MDN )

kuinka paljon ps4 -kamera maksaa?

Palvelutyöntekijät ovat nykyinen yritys vähentää verkkosovellusten rajoituksia ilman AppCachen kaltaisen tekniikan haittoja.





Käyttötapaukset palvelutyöntekijöille

Joten mitä palvelutyöntekijät antavat sinun tehdä? Palvelutyöntekijät antavat sinun lisätä verkkosovellukseesi ominaisuuksia, jotka ovat ominaisia ​​alkuperäisille sovelluksille. Ne voivat myös tarjota normaalin käyttökokemuksen laitteilla, jotka eivät tue huoltotyöntekijöitä. Tällaisia ​​sovelluksia kutsutaan joskus Progressiiviset verkkosovellukset (PWA) .

Tässä on joitain ominaisuuksia, jotka palvelutyöntekijät mahdollistavat:





kuinka synkronoida sovelluksia iPhonesta iPadiin
  • Antaa käyttäjän jatkaa sovelluksen (tai ainakin sen osien) käyttöä, kun hän ei ole enää yhteydessä Internetiin. Palvelutyöntekijät saavuttavat tämän palvelemalla välimuistissa olevia resursseja vastauksena pyyntöihin.
  • Chromium-pohjaisissa selaimissa palvelutyöntekijä on yksi verkkosovelluksen asentamisen edellytyksistä.
  • Palvelutyöntekijöitä tarvitaan, jotta verkkosovelluksesi pystyy toteuttamaan push-ilmoituksia.

Palvelutyöntekijän elinkaari

Palvelutyöntekijät voivat hallita koko sivustoa tai vain osaa sivuston sivuista. Tietyllä verkkosivulla voi olla vain yksi aktiivinen palvelutyöntekijä, ja kaikilla palvelutyöntekijöillä on tapahtumapohjainen elinkaari. Palvelutyöntekijän elinkaari näyttää yleensä tältä:

  1. Työntekijän rekisteröinti ja lataus. Palvelutyöntekijän elinikä alkaa, kun JavaScript-tiedosto rekisteröi sen. Jos rekisteröinti onnistuu, palvelutyöntekijä lataa ja alkaa sitten toimia erityisessä säikeessä.
  2. Kun palvelutyöntekijän hallitsema sivu ladataan, palvelutyöntekijä saa asennustapahtuman. Tämä on aina ensimmäinen tapahtuma, jonka palvelutyöntekijä vastaanottaa, ja voit määrittää tälle tapahtumalle kuuntelijan työntekijän sisällä. 'Asennus'-tapahtumaa käytetään yleensä hakemaan ja/tai tallentamaan välimuistiin kaikki palvelutyöntekijän tarvitsemat resurssit.
  3. Kun palvelutyöntekijä on suorittanut asennuksen, se vastaanottaa 'aktivoi'-tapahtuman. Tämän tapahtuman avulla työntekijä voi puhdistaa aiempien palvelutyöntekijöiden käyttämät ylimääräiset resurssit. Jos päivität huoltotyöntekijää, aktivointitapahtuma käynnistyy vain, kun se on turvallista. Tämä tapahtuu, kun palvelutyön vanhaa versiota käyttäviä sivuja ei ole ladattu.
  4. Tämän jälkeen palvelutyöntekijällä on täysi hallinta kaikista sivuista, jotka ladattiin onnistuneen rekisteröinnin jälkeen.
  5. Elinkaarin viimeinen vaihe on redundanssi, joka tapahtuu, kun palvelutyöntekijä poistetaan tai korvataan uudemmalla versiolla.

Palvelutyöntekijöiden käyttäminen JavaScriptissä

Service Worker API ( MDN ) tarjoaa käyttöliittymän, jonka avulla voit luoda JavaScriptin palvelutyöntekijöitä ja olla vuorovaikutuksessa heidän kanssaan.