Langsung ke konten utama

Pengenalan Service Worker

Javascript Service Worker


Pada beberapa postingan sebelumnya saya telah membahas tentang Javascript Promise, dan pada postingan kali ini yang akan dibahas adalah tentang Service Worker.

Apa Itu Service Worker ?

Service Worker adalah sebuah script yang dijalankan browser Anda di latar belakang, terpisah dari halaman web, membuka pintu untuk fitur yang tidak memerlukan halaman web atau interaksi pengguna. Saat ini, Service Worker sudah termasuk fitur seperti push notification dan bakground synch. Di masa yang akan datang Service Worker akan mendukung hal-hal lain seperti sinkronisasi periodik atau geofencing. Fitur inti yang dibahas dalam tutorial ini adalah kemampuan untuk mencegat dan menangani permintaan jaringan, termasuk mengelola cache.

Yang membuat Service Worker menarik adalah API ini memberikan dukungan untuk pengalaman offline kepada pengguna, memberikan kontrol penuh kepada pengambang/developer atas pengalaman pengguna.
Sebelum Service Worker ada satu API yang memberikan pengalaman offline kepada pengguna yang disebut AppCache, namun terdapat beberapa masalah pada API tersebut, Anda dapat membacanya disini. Service Worker telah dirancang untuk menghindari masalah-masalah tersebut.

Beberapa hal yang perlu Anda ketahui tentang Service Worker :

  • Service Worker adalah Javascript Worker, sehingga Anda tidak dapat berinteraksi secara langsung dengan DOM element, namun Service Worker dapat berkomunikasi dengan halaman yang di kontrol dengan menanggapi pesan yang dikirim melalui interface postMessage.
  • Service Worker memungkinkan Anda untuk mengontrol bagaimana permintaan jaringan dari halaman Anda ditangani.
  • Service Worker akan dihentikan bila sudah tdak digunakan, dan akan di restart/mulai ulang ketika dibutuhkan. Jika terdapat informasi yang ingin Ada gunakan kembali Anda dapat menggunakan IndexDB API.
  • Service Worker banyak menggunakan Promise, jadi jika Anda belum tau apa itu Promise, maka Anda harus berhenti membaca artikel ini dan bacalah artikel sebelumnya tentang Javascript Promises.
Selama pembuatan Anda akan dapat menggunakan Service Worker melalui localhost, tetapi untuk menggunakannya di situs online Anda harus memiliki setup HTTPS pada server Anda. Github Pages dilayani melalui HTTPS, jadi disana dapat menjadi tempat yang bagus untuk mencoba fitur ini.

Mendaftarkan Service Worker

Untuk menginstal Service Worker yang Anda butuhkan untuk memulai proses adalah dengan mendaftarkannya di halaman Anda. Hal ini akan memberitahu browser dimana file Javascript Service Worker Anda berada.

if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/sw.js').then(function(registration) {
// Pendaftaran berhasil
console.log('Pendaftaran ServiceWorker berhasil : ', registration.scope);
}).catch(function(err) {
// Pendaftaran gagal
console.log('Pendaftaran ServiceWorker gagal: ', err);
});
});
}
Script diatas akan memeriksa untuk melihat apakah Service Worker API tersedia, dan jika itu tersedia, Service Worker di /sw.js akan terdaftar setelah halaman dimuat.

Anda dapat memanggil fungsi register() setiap kali halaman dimuat; browser akan mencari tahu apakah Service Worker sudah terdaftar atau tidak dan menanganinya. file Service Worker harus diletakkan pada direktori root di web Anda, karena Service Worker hanya akan menerima event fetch dari folder/domain dimana file tersebut berada.
Untuk mengecek apakah Service Worker Anda telah terdaftar Anda dapat menuliskan uri berikut di browser Chrome Anda
chrome://inspect/#service-workers

Menginstall Service Worker

Setelah mendaftarkan Service Worker sekarang Anda dapat menginstall Service Worker pada halaman Anda dengan mendefinisikan callback untuk event install dan memilih apa saja yang ingin Anda cache.
self.addEventListener('install', function(event) {
// Lakukan langkah instalasi
});
Dalam callback install, kita perlu melakukan langkah-langkah berikut:

  • Membuka cache.
  • Cache file kita.
  • Mengkonfirmasi apakah semua aset perlu di cache atau tidak.

var CACHE_NAME = 'my-site-cache-v1';
var urlsToCache = [
'./',
'./styles/main.css',
'./script/main.js'
];

self.addEventListener('install', function(event) {
// Lakukan langkah instalasi
event.waitUntil(
caches.open(CACHE_NAME)
.then(function(cache) {
console.log('Cache terbuka');
return cache.addAll(urlsToCache);
})
);
});
Pada script diatas saya membuka cache dengan nama yang telah ditentukan, kemudian menambahkan file yang akan dicache dengan memasukkan array dari file yang akan dicache ke dalam fungsi cache.addAll().  metode event.waitUntill() mengambil Promise dan menggunakannya untuk menghitung jumlah waktu yang dibutuhkan dalam proses instalasi, dan apakah proses instalasi berhasil.


Komentar

Postingan populer dari blog ini

Latihan Terbaik Dan Terburuk Yang Dilakukan Ketika Anda Terkena Flu

By Amanda MacMillan Jika Anda merasa di bawah cuaca, olahraga dapat menjadi hal terakhir yang Anda ingin lakukan-dan memang benar bahwa ketika tubuh Anda sudah di bawah banyak stres, sehingga melakukan pekerjaan lebih banyak tidak selalu ide yang baik. Namun dalam beberapa kasus, cahaya untuk aktivitas moderat sebenarnya bisa membantu Anda merasa lebih baik, ujar Richard Besser, MD, kepala kesehatan dan redaksi medis di ABC News dan penulis Tell Me The Truth, Dokter: Mudah Memahami Jawaban Paling Membingungkan Anda Pertanyaan Kritis dan Kesehatan. Pertama, Besser mengatakan, menggunakan "aturan leher": Jika gejala di atas leher-bersin, sinus tekanan, pengap hidung kemudian berkeringat umumnya dianggap aman. Dengarkan tubuh Anda, dan mempertimbangkan yang terbaik berikut (dan terburuk) Pilihan latihan. Latihan Terbaik: Berjalan kaki Terkena flu dapat membahayakan tingkat energi Anda, sehingga Anda mungkin tidak merasa untuk melakukan kebugaran fisik yang intensif. Tetapi bahka...

Menagapa Pesawat Sering Terguncang?

Foto: Lion Air Ternyata peralihan atau berubahnya iklim dapat saja memperburuk turbulensi udara. Bagi Kamuyang melakukan perjalanan udara, hal ini tentu akan mengganggu kenyamanan perjalanan Anda. Seberapa buruk turbulensi ini? Cukup kuat sehingga dapat saja melempar penumpang dan awak pesawat di sekitar kabin jika tak memasang sabuk pengaman. Hal ini merupakan hasil studi dari Universitas Reading seperti dipublikasikan di Advances in Atmospheric Sciences , seperti ditulis Digital Trend . Menurut studi ini, makin buruknya kualitas udara memengaruhi pergerakan naik turun pesawat yang lebih kuat dari gravitasi. Para ahli percaya peralihan atau berubahnya iklim membuat fenomena ini lebih sering dua tiga kali dari yang terjadi saat ini. Dengan demikian, berjalan di pesawat, meminta layanan makanan, atau bahkan memegang sesuatu menjadi lebih sulit dilakukan. Studi ini menyebutkan bahwa turbulensi ringan akan meningkat 59 persen. Turbulensi ringan hingga menengah meningkat 75 persen, Pada sp...

Tips mudah cara menghilangkan tahi lalat/tompel secara alami

Menurut para ahli kulit tahi lalat dibagi menjadi 2 (dua) yakni tahi lalat yang bisa membesar dan tahi lalat yang tidak bisa membesar (ukurannya hanya segitu saja). Banyak orang mengatakan kalau tahi lalat bisa timbul karena sebuah flat yang di akibatkan oleh kurang (tidak) bersihnya kulit wajah (atau bagian kulit lain), namun ada juga yang mengatakan bahwa tahi lalat itu timbul karena alasan keturunan. Kembali ke topik artikel ini kita akan membahas bagaimana cara menghilangkan tahi lalat dengan mudah, tanpa operasi dan tentunya dengan biaya yang murah pula. Persiapkan bahan dan alatnya: Bawang putih Kapur sirih/injet Sabun colek Sendok Madu Perban atau alat lain yang sejenis 1.Cara menghilangkan tahi lalat dengan bawang putih Langkah pertama kupaslah atau pisahkanlah bawang putih dari kulitnya Kedua Tumbuk bawang putih tersebut sampai halus dan terlihat berair Taburkan hasil tumbukan bawang putih tadi ke atas tahi lalat yang ingin di hilangkan, tips bungkuslah dengan perban supaya ba...