Ievads JavaScript pakalpojumu darbiniekiem

Ievads JavaScript pakalpojumu darbiniekiem

Vai esat kādreiz domājis, kā šķiet, ka dažas vietnes turpina darboties pat tad, ja esat bezsaistē? Noslēpums ir vienkāršs: šajās vietnēs ir pakalpojumu darbinieki.



Pakalpojumu darbinieki ir galvenā tehnoloģija, kas nodrošina daudzas mūsdienu tīmekļa lietojumprogrammu vietējās lietotnēm līdzīgas funkcijas.





kā saglabāt drošību uz tor

Kas ir pakalpojumu darbinieki?

Servisa darbinieki ir specializēts veids JavaScript tīmekļa darbinieki . Servisa darbinieks ir JavaScript fails, kas nedaudz darbojas kā starpniekserveris. Tas uztver izejošos tīkla pieprasījumus no jūsu lietojumprogrammas, ļaujot jums izveidot pielāgotas atbildes. Varat, piemēram, apkalpot kešatmiņā saglabātos failus lietotājam, kad viņš ir bezsaistē.





Pakalpojumu darbinieki arī ļauj jūsu tīmekļa lietojumprogrammām pievienot tādas funkcijas kā fona sinhronizācija.

Kāpēc pakalpojumu darbinieki?

Tīmekļa izstrādātāji jau ilgu laiku ir mēģinājuši paplašināt savu lietotņu iespējas. Pirms servisa darbinieku ienākšanas jūs varējāt izmantot dažādus risinājumus, lai tas būtu iespējams. Īpaši ievērojams bija AppCache, kas padarīja resursus ērtu kešatmiņā. Diemžēl tai bija problēmas, kas padarīja to par nepraktisku risinājumu lielākajai daļai lietotņu.



AppCache šķita laba ideja, jo tā ļāva jums ļoti vienkārši norādīt kešatmiņā saglabājamos līdzekļus. Tomēr tajā tika izdarīti daudzi pieņēmumi par to, ko jūs mēģināt darīt, un pēc tam šausmīgi sabojājās, kad jūsu lietotne precīzi neatbilda šiem pieņēmumiem. Izlasiet Džeika Arčibaldu (diemžēl ar nosaukumu, bet labi uzrakstītu) Lietojumprogrammu kešatmiņa ir Douchebag lai iegūtu sīkāku informāciju. (Avots: MDN )

Pakalpojumu darbinieki ir pašreizējais mēģinājums samazināt tīmekļa lietotņu ierobežojumus bez tādu tehnoloģiju trūkumiem kā AppCache.





Lietošanas gadījumi pakalpojumu darbiniekiem

Tātad, ko tieši apkalpojošie darbinieki ļauj jums darīt? Pakalpojumu darbinieki ļauj jūsu tīmekļa lietojumprogrammai pievienot līdzekļus, kas ir raksturīgi vietējām lietotnēm. Tie var arī nodrošināt normālu pieredzi ierīcēs, kas neatbalsta pakalpojumu sniedzējus. Šādas lietotnes dažreiz tiek sauktas Progresīvās tīmekļa lietotnes (PWA) .

kā spēlēt ps tagad uz datora

Tālāk ir norādītas dažas funkcijas, ko pakalpojumu darbinieki nodrošina:





  • Ļaujiet lietotājam turpināt lietot lietotni (vai vismaz tās daļas), kad viņam vairs nav savienojuma ar internetu. Servisa darbinieki to panāk, apkalpojot kešatmiņā saglabātos līdzekļus, reaģējot uz pieprasījumiem.
  • Pārlūkprogrammās, kuru pamatā ir Chromium, pakalpojuma darbinieks ir viena no prasībām, lai tīmekļa lietotni varētu instalēt.
  • Pakalpojumu darbinieki ir nepieciešami, lai jūsu tīmekļa lietojumprogramma varētu ieviest push paziņojumus.

Pakalpojuma darbinieka dzīves cikls

Pakalpojumu darbinieki var kontrolēt pieprasījumus visai vietnei vai tikai daļai vietnes lapu. Konkrētā tīmekļa lapā var būt tikai viens aktīvs pakalpojumu darbinieks, un visiem pakalpojumu darbiniekiem ir uz notikumiem balstīts dzīves cikls. Apkalpojošā darbinieka dzīves cikls parasti izskatās šādi:

  1. Darbinieka reģistrācija un lejupielāde. Servisa darbinieka mūžs sākas, kad JavaScript fails to reģistrē. Ja reģistrācija ir veiksmīga, servisa darbinieks lejupielādē un pēc tam sāk darboties īpašā pavedienā.
  2. Kad tiek ielādēta lapa, kuru kontrolē servisa darbinieks, servisa darbinieks saņem 'instalēšanas' notikumu. Šis vienmēr ir pirmais notikums, ko saņem pakalpojumu darbinieks, un jūs varat iestatīt šī notikuma klausītāju darbinieka iekšienē. Notikums 'instalēšana' parasti tiek izmantots, lai ielādētu un/vai saglabātu kešatmiņā visus pakalpojumu darbiniekam nepieciešamos resursus.
  3. Kad servisa darbinieks pabeidz instalēšanu, tas saņem aktivizācijas notikumu. Šis notikums ļauj darbiniekam iztīrīt liekos resursus, ko izmantojuši iepriekšējie pakalpojumu darbinieki. Ja atjaunināt servisa darbinieku, aktivizēšanas notikums tiks aktivizēts tikai tad, kad to var izdarīt droši. Tas ir tad, kad nav neviena ielādēta lapa, kurā joprojām tiek izmantota pakalpojuma darbinieka vecā versija.
  4. Pēc tam servisa darbinieks pilnībā kontrolē visas lapas, kas tika ielādētas pēc veiksmīgas reģistrācijas.
  5. Pēdējā dzīves cikla fāze ir atlaišana, kas notiek, kad servisa darbinieks tiek noņemts vai aizstāts ar jaunāku versiju.

Kā izmantot pakalpojumu darbiniekus JavaScript

Service Worker API ( MDN ) nodrošina saskarni, kas ļauj izveidot un mijiedarboties ar pakalpojumu darbiniekiem JavaScript.