Pengantar Pekerja Layanan JavaScript

Pengantar Pekerja Layanan JavaScript

Pernahkah Anda bertanya-tanya bagaimana beberapa situs web tampaknya tetap berfungsi bahkan ketika Anda sedang offline? Rahasianya sederhana: situs web ini memiliki pekerja layanan.





Pekerja layanan adalah teknologi utama di balik banyak fitur asli seperti aplikasi web modern.





Apa itu Service Worker?

Pekerja layanan adalah jenis khusus dari Pekerja web JavaScript . Service worker adalah file JavaScript yang berfungsi sedikit seperti server proxy. Ini menangkap permintaan jaringan keluar dari aplikasi Anda, memungkinkan Anda membuat respons khusus. Anda mungkin, misalnya, menyajikan file yang di-cache kepada pengguna saat mereka offline.





Pekerja layanan juga memungkinkan Anda menambahkan fitur seperti sinkronisasi latar belakang ke aplikasi web Anda.

cara menghapus halaman kedua di word

Mengapa Pekerja Layanan?

Pengembang web telah mencoba untuk memperluas kemampuan aplikasi mereka untuk waktu yang lama. Sebelum pekerja layanan datang, Anda dapat menggunakan berbagai solusi untuk memungkinkan hal ini. Yang paling menonjol adalah AppCache, yang membuat sumber daya caching menjadi nyaman. Sayangnya, itu memiliki masalah yang menjadikannya solusi yang tidak praktis untuk sebagian besar aplikasi.



AppCache tampaknya merupakan ide yang bagus karena memungkinkan Anda menentukan aset untuk di-cache dengan sangat mudah. Namun, itu membuat banyak asumsi tentang apa yang Anda coba lakukan dan kemudian rusak parah ketika aplikasi Anda tidak mengikuti asumsi tersebut dengan tepat. Baca karya Jake Archibald (sayangnya judulnya tapi ditulis dengan baik) Cache Aplikasi adalah Douchebag untuk lebih jelasnya. (Sumber: MDN )

Pekerja layanan adalah upaya saat ini untuk mengurangi keterbatasan aplikasi web, tanpa kekurangan teknologi seperti AppCache.





Kasus Penggunaan untuk Service Worker

Jadi, apa sebenarnya yang diizinkan oleh pekerja layanan Anda? Pekerja layanan memungkinkan Anda menambahkan fitur yang merupakan karakteristik aplikasi asli ke aplikasi web Anda. Mereka juga dapat memberikan pengalaman normal pada perangkat yang tidak mendukung pekerja layanan. Aplikasi seperti ini terkadang disebut Aplikasi Web Progresif (PWA) .

Berikut adalah beberapa fitur yang dimungkinkan oleh pekerja layanan:





  • Membiarkan pengguna tetap menggunakan aplikasi (atau setidaknya sebagian) saat mereka tidak lagi terhubung ke internet. Pekerja layanan mencapai ini dengan menyajikan aset yang di-cache sebagai tanggapan atas permintaan.
  • Di browser berbasis Chromium, pekerja layanan adalah salah satu persyaratan agar aplikasi web dapat diinstal.
  • Pekerja layanan diperlukan agar aplikasi web Anda dapat menerapkan pemberitahuan push.

Siklus Hidup Service Worker

Pekerja layanan dapat mengontrol permintaan untuk seluruh situs, atau hanya sebagian halaman situs. Halaman web tertentu hanya dapat memiliki satu pekerja layanan aktif, dan semua pekerja layanan memiliki siklus hidup berbasis peristiwa. Siklus hidup pekerja layanan umumnya terlihat seperti ini:

  1. Pendaftaran dan pengunduhan pekerja. Kehidupan service worker dimulai saat file JavaScript mendaftarkannya. Jika pendaftaran berhasil, pekerja layanan mengunduh, dan kemudian mulai berjalan di dalam utas khusus.
  2. Saat halaman yang dikontrol oleh service worker dimuat, service worker menerima event 'install'. Ini selalu merupakan peristiwa pertama yang diterima pekerja layanan, dan Anda dapat menyiapkan pendengar untuk peristiwa ini di dalam pekerja. Acara 'instal' umumnya digunakan untuk mengambil dan/atau menyimpan sumber daya apa pun yang dibutuhkan pekerja layanan.
  3. Setelah pekerja layanan selesai menginstal, ia menerima acara 'aktifkan'. Peristiwa ini memungkinkan pekerja untuk membersihkan sumber daya yang berlebihan yang digunakan oleh pekerja layanan sebelumnya. Jika Anda memperbarui pekerja layanan, acara aktivasi hanya akan diaktifkan saat aman untuk melakukan ini. Ini sekali tidak ada halaman yang dimuat masih menggunakan versi lama dari pekerja layanan.
  4. Setelah itu, pekerja layanan memiliki kontrol penuh atas semua halaman yang dimuat setelah berhasil didaftarkan.
  5. Fase terakhir dari siklus hidup adalah redundansi, yang terjadi ketika pekerja layanan dihapus atau diganti dengan versi yang lebih baru.

Cara Menggunakan Service Worker di JavaScript

API Pekerja Layanan ( MDN ) menyediakan antarmuka yang memungkinkan Anda membuat dan berinteraksi dengan pekerja layanan di JavaScript.