Service worker adalah script yang berjalan di background, berdiri sendiri dan terpisah dari halaman web, pintu masuk untuk fitur yang tidak membuthkan halaman web dan juga interaksi pengguna. Service worker ini merupakan bagian dari PWA (Progressive Web App) yang sedang dikampanyekan oleh Google. Saat ini PWA sudah mendukung push_notofications dan juga background sync. Pada masa-masa ke depan tentu akan ada fitur-fitur yang terus ditambahkan.
Beberapa hal yang perlu diperhatikan dalam service worker adalah
- Service worker merupakan Javascript Worker sehingga tidak dapat menhakses DOM HTML secara langsung. Service worker akan berkomunikasi dengan halaman web melalui interface postMessage.
Informasi lebih lanjut mengenai Javascript Worker dapat dibaca di https://www.html5rocks.com/en/tutorials/workers/basics/ . - Service worker merupkan network proxy yang dapat diprogram. Dengan cara ini maka kita dapat mengendalikan bagaimana menangani permintaan sumber daya jaringan dari suatu halaman web
- Service worker langsung mati jika tidak digunakan dan direstart saat diperlukan. Dengan cara ini maka penggunaan memory akan lebih hemat.
- Service mengggunakan Promises secara intensif. Informasi lebih lanjut mengenai Promises silahkan mengunjungi https://developers.google.com/web/fundamentals/getting-started/primers/promises .
Lifecycle dari Service Worker dapat dilihat pada gambar yang didapatkan di https://developers.google.com/web/fundamentals/primers/service-workers/images/sw-lifecycle.png seperti berikut ini:
Untuk menginstal suatu service worker, kita perlu melakukan registrasi menggunakan script Javascript yang ada pada suatu halaman web yang sedang diakses. Dengan melakukan registrasi service worker, maka browser akan menjalankan service worker dan kemudian melakukan instalasi secara background. Pada saat instalasi ini juga dilakukan caching pada asset files.
Berkaitan dengan update ayng mungkin terjadi pada Service Worker kita dapat mengunjungi halaman webnya yang memuat update service worker dan tentu melakukan update service worker sehinggan Service Worker tersebut akan terupdate sesuai dengan pembaruan terbaru.
Saat ini Service Worker sudah didukung oleh browser Chrome, Firefox dan Opera. Informasi lebih lanjut mengenai dukungan browser-browser terhadapt service worker dapat dilihat di https://jakearchibald.github.io/isserviceworkerready/ .
Informasi lebih lanjut silahkan mengunjungi https://developers.google.com/web/fundamentals/primers/service-workers/ .
Berikut contoh registrasi service worker pada browser:
Kunjungi www.proweb.co.id untuk menambah wawasan anda.