Last Updated on March 28, 2022 by
Pada HTML5 terdapat kode JavaScript terpisah yang dijalankan di background suatu halaman website yang mempengaruhi User Interface. Inilah yang dikenal dengan Web Workers HTML5.
Dengan menggunakan Web Workers HTML5 ini memungkinkan Anda untuk mencegah eksekusi dari suatu tugas yang besar untuk pembekuan halaman web Anda. Pada artikel ini kita akan membahas tentang apa itu Web Workers HTML5 dan cara membuat Web Workers HTML 5.
Table of Contents
Apa itu Web Workers HTML5?
Semua orang menginginkan situs web atau aplikasi yang bekerja cepat dan dapat menjalankan beberapa operasi secara bersamaan tanpa mempengaruhi kinerja halaman. Namun, terkadang kita mengalami beberapa respons penundaan atau penurunan kinerja halaman saat menjalankan beberapa operasi besar.
Oleh karena itu, masalah ini bisa diselesaikan dengan menggunakan Web Worker. Web Workers HTML5 adalah objek multithreaded yang dapat mengeksekusi beberapa JavaScript secara paralel tanpa mempengaruhi kinerja aplikasi atau halaman web.
Sebuah web workers melakukan pekerjaan di latar belakang, terlepas dari skrip lain dan dengan demikian tidak memengaruhi kinerjanya. Proses ini juga disebut threading, yaitu, memisahkan tugas menjadi beberapa utas paralel.
Selama waktu tersebut, pengguna dapat menjelajah secara normal, karena halaman tetap sepenuhnya responsif. Pada contoh di bawah ini, Anda dapat melihat skrip sederhana untuk membuat web workers HTML5 yang dipakai dalam menghitung angka:
var i=0; function timeCount() { i=i+1; postMessage(i); setTimeout("timedCount()", 300); } timedCount();
Pada contoh di atas, script berisi metode postMessage() yang memungkinkan posting pesan (yaitu, angka) ke dokumen HTML. Namun, web workers biasanya tidak digunakan untuk tugas sederhana seperti itu karena mereka tidak akan menggunakan banyak daya CPU dan tanpa mengganggu kinerja situs web.
Fitur-Fitur Web Workers HTML5
Web Workers HTML5 memiliki beberapa fitur kunci yang bisa Anda pertimbangkan ketika Anda hendak menggunakannya. Berikut adalah fitur kunci untuk web workers di HTML5.
- Web workers adalah JavaScript berulir.
- Web workers adalah utas tingkat kernel.
- Web workers membutuhkan lebih banyak ruang dan waktu CPU.
- Web workers meningkatkan kecepatan situs web.
- Web workers mengeksekusi kode di sisi klien (bukan sisi server).
- Web Workers Thread berkomunikasi satu sama lain menggunakan metode panggilan balik postMessage()
Jenis-Jenis Web Workers
Web Workers pada HTML5 memiliki dua jenis. Masing-masing web workers ini tentu punya ciri khasnya masing-masing. Inilah jenis-jenis web workers HTML5.
- Dedicated Web Workers
Dedicated web workers dapat diakses hanya dengan satu skrip yang memanggilnya. Thread dari dedicated web workers berakhir saat utas induknya berakhir. Pekerja khusus hanya digunakan oleh satu atau satu utas utama.
- Shared Web Workers:
Shared web workers dapat dibagikan oleh banyak skrip dan dapat berkomunikasi menggunakan port. Shared web workers dapat diakses oleh jendela, iframe, atau pekerja yang berbeda.
Kode Lengkap Web Workers
Berikut ini adalah kode untuk contoh web workers HTML5 harus disimpan dalam file JavaScript eksternal. Namun, agar berfungsi dengan baik, Anda juga harus menyertakan beberapa kode dalam dokumen HTML Anda untuk membuat Web Workers HTML5:
<!DOCTYPE html> <html> <body> <p>Hitung: <output id="example"></output></p> <button onclick="startCount ()">Mulai penghitungan</button> <button onclick="stopWorker()">Stop penghitungan</button> <p><strong>Note:</strong>Internet Explorer dibawah versi 9 tidak mendukung web worker</p> <script> var x; function startCount() { console.log("Worker menyala"); if(typeof(Worker) !== "undefined") { if(typeof(x) == "undefined") { x = new Worker("worker.js"); } x.onmessage = function(event) { document.getElementById("example").innerHTML = event.data; }; } else { document.getElementById("example").innerHTML = "Browser tidak mendukung web worker"; } } function stopWorker() { console.log("Worker dihentikan"); x.terminate(); x = undefined; } </script> </body>
Kami akan menjelaskan bagian paling penting dari kode dalam tabel di bawah ini.
Code section | Makna |
var x; function startCount() { |
Menyiapkan variabel global |
if(typeof(x) == “undefined”) { x = new Worker(“worker.js”); } |
Menginisialisasi web workers |
x.onmessage = function(event) { document.getElementById(“example”).innerHTML = event.data; }; |
Memungkinkan mendengarkan pesan dan memperbarui halaman yang sesuai |
} else { document.getElementById(“example”).innerHTML = “Browser tidak mendukung web worker”; } } |
Memberi tahu pengguna jika browser mereka tidak mendukung web workers |
function stopWorker() { console.log(“Worker dihentikan”); x.terminate(); x = undefined; } |
Menghentikan web workers |
Itulah penjelasan tentang cara membuat dan contoh web workers HTML5. Dengan menggunakan fungsi JavaScript setInterval() dan setTimeout(), Anda dapat membuat web workers HTML5 untuk melakukan tugas berkala.
Namun perlu diingat bahwa dengan web workers ini, Anda tidak dapat mengakses elemen DOM menggunakan web workers, jadi jangan sertakan apa pun dalam skrip mereka.
Jika Anda tidak yakin kapan harus menggunakan web workers, Anda bisa coba lakukan tugas yang paling umum termasuk pemeriksaan ejaan, penyorotan sintaks, pengambilan data awal, dan cache.
Jika Anda ingin belajar tentang HTML5 ataupun bahasa pemrograman lainnya, jangan lupa kunjungi Codekey di https://codekey.id/. Codekey adalah media untuk belajar Bahasa Pemrograman yang gratis dan bisa dipelajari di mana saja.
Pastikan Anda sudah nyalakan notifikasi dari website Codekey agar Anda tidak ketinggalan update terbaru terkait materi HTML/CSS maupun bahasa pemrograman lainnya.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.