Pengenalan kepada Pekerja Perkhidmatan JavaScript

Pengenalan kepada Pekerja Perkhidmatan JavaScript

Pernahkah anda terfikir bagaimana sesetengah tapak web kelihatan terus berfungsi walaupun anda berada di luar talian? Rahsianya mudah: laman web ini mempunyai pekerja perkhidmatan.





Pekerja perkhidmatan ialah teknologi utama di sebalik kebanyakan ciri seperti apl asli bagi aplikasi web moden.





Apakah Pekerja Perkhidmatan?

Pekerja perkhidmatan adalah jenis khusus Pekerja web JavaScript . Pekerja perkhidmatan ialah fail JavaScript yang berfungsi sedikit seperti pelayan proksi. Ia menangkap permintaan rangkaian keluar daripada aplikasi anda, membolehkan anda membuat respons tersuai. Anda mungkin, sebagai contoh, menyampaikan fail cache kepada pengguna apabila mereka berada di luar talian.





belajar bermain aplikasi gitar percuma

Pekerja perkhidmatan juga membenarkan anda menambah ciri seperti penyegerakan latar belakang pada aplikasi web anda.

cara memaparkan skrin telefon di komputer

Mengapa Pekerja Perkhidmatan?

Pembangun web telah cuba mengembangkan keupayaan aplikasi mereka untuk masa yang lama. Sebelum pekerja perkhidmatan datang, anda boleh menggunakan pelbagai penyelesaian untuk membolehkan ini. Satu yang amat ketara ialah AppCache, yang menjadikan sumber caching mudah. Malangnya, ia mempunyai masalah yang menjadikannya penyelesaian yang tidak praktikal untuk kebanyakan apl.



AppCache nampaknya idea yang bagus kerana ia membenarkan anda menentukan aset untuk dicache dengan mudah. Walau bagaimanapun, ia membuat banyak andaian tentang perkara yang anda cuba lakukan dan kemudian rosak teruk apabila apl anda tidak mengikut andaian tersebut dengan tepat. Baca Jake Archibald (malangnya bertajuk tetapi ditulis dengan baik) Cache Aplikasi ialah Douchebag untuk maklumat lanjut. (Sumber: MDN )

Pekerja perkhidmatan ialah percubaan semasa untuk mengurangkan had apl web, tanpa kelemahan teknologi seperti AppCache.





Kes Penggunaan untuk Pekerja Perkhidmatan

Jadi apa sebenarnya yang pekerja perkhidmatan benarkan anda lakukan? Pekerja perkhidmatan membenarkan anda menambah ciri yang menjadi ciri apl asli pada aplikasi web anda. Mereka juga boleh memberikan pengalaman biasa pada peranti yang tidak menyokong pekerja perkhidmatan. Apl seperti ini kadangkala dipanggil Apl Web Progresif (PWA) .

Berikut ialah beberapa ciri yang boleh dilakukan oleh pekerja perkhidmatan:





mac terminal perintah cheat sheet pdf
  • Membenarkan pengguna terus menggunakan apl (atau sekurang-kurangnya sebahagian daripadanya) apabila mereka tidak lagi disambungkan ke Internet. Pekerja perkhidmatan mencapai ini dengan menyediakan aset cache sebagai tindak balas kepada permintaan.
  • Dalam penyemak imbas berasaskan Chromium, pekerja perkhidmatan ialah salah satu keperluan untuk apl web boleh dipasang.
  • Pekerja perkhidmatan diperlukan untuk aplikasi web anda dapat melaksanakan pemberitahuan tolak.

Kitaran Hayat Pekerja Perkhidmatan

Pekerja perkhidmatan boleh mengawal permintaan untuk keseluruhan tapak, atau hanya sebahagian daripada halaman tapak. Halaman web tertentu hanya boleh mempunyai seorang pekerja perkhidmatan yang aktif dan semua pekerja perkhidmatan mempunyai kitaran hayat berasaskan peristiwa. Kitaran hayat pekerja perkhidmatan biasanya kelihatan seperti ini:

  1. Pendaftaran dan muat turun pekerja. Hayat pekerja perkhidmatan bermula apabila fail JavaScript mendaftarkannya. Jika pendaftaran berjaya, pekerja perkhidmatan memuat turun, dan kemudian mula berjalan di dalam urutan khas.
  2. Apabila halaman yang dikawal oleh pekerja perkhidmatan dimuatkan, pekerja perkhidmatan menerima acara 'pasang'. Ini sentiasa merupakan acara pertama yang diterima oleh pekerja perkhidmatan dan anda boleh menyediakan pendengar untuk acara ini di dalam pekerja. Acara 'pasang' biasanya digunakan untuk mengambil dan/atau menyimpan sebarang sumber yang diperlukan oleh pekerja perkhidmatan.
  3. Selepas pekerja perkhidmatan selesai memasang, ia menerima acara 'aktifkan'. Acara ini membolehkan pekerja membersihkan sumber berlebihan yang digunakan oleh pekerja perkhidmatan terdahulu. Jika anda mengemas kini pekerja perkhidmatan, acara aktifkan hanya akan menyala apabila selamat untuk melakukan ini. Ini apabila tiada halaman dimuatkan yang masih menggunakan versi lama pekerja perkhidmatan.
  4. Selepas itu, pekerja perkhidmatan mempunyai kawalan penuh ke atas semua halaman yang dimuatkan selepas ia berjaya didaftarkan.
  5. Fasa terakhir kitaran hayat ialah redundansi, yang berlaku apabila pekerja perkhidmatan dialih keluar atau digantikan dengan versi yang lebih baharu.

Cara Menggunakan Pekerja Perkhidmatan dalam JavaScript

API Pekerja Perkhidmatan ( MDN ) menyediakan antara muka yang membolehkan anda membuat dan berinteraksi dengan pekerja perkhidmatan dalam JavaScript.