Web Programlama

Web Programlama

HTML5 Web İşçileri

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

Bir web çalışanı ya da işçisi (web worker), arka planda çalışan ve sayfanın performansını etkilemeyen bir JavaScript kodudur. Bir HTML sayfası çalışırken, çalışan betik sona erene kadar sayfa cevapsız hale gelir yani reaksiyon alınamaz. Oysa bir web işçisi, diğer betiklerden bağımsız olarak arka planda çalışan ve sayfanın performansını etkilemeyen bir koddur. Web işçisi arka planda çalışırken yapmak istediğiniz şeyi yapmaya devam edebilirsiniz; mesela bir düğmeyi tıklayabilir, bazı elemanları seçebilirsiniz.

Aşağıdaki kod parçası web işçisine örnek olarak çalıştırılabilir:

<!DOCTYPE HTML>
<html>
    <head>
        <title>SAYMA</title>
        <script>
        function SAY(){
                for (var i = 0; i <= 10000; i += 1){
                    var j = i;
                }
                alert("ITERASYON SAYISI=" + j );
        }

        function MESAJ(){
            alert("GUZEL TURKIYEM...." );
        }
        </script>
    </head>

    <body>
        <input type="button" onclick="SAY();" value="SAYMA" />
        <input type="button" onclick="MESAJ();" value="MESAJ" />
    </body>
</html>

 

Sunucu tarafından gönderilen olaylar (server sent events)

Sunucu tarafından gönderilen olaylar, bir web sayfasının otomatik olarak sunucudan güncellenebilmesini sağlar.

Tek yönlü mesaj gönderme: Bu işlem daha önceki HTML sürümlerinde de mevcuttu ancak web sayfası, herhangi bir güncelleme olup olmayacağını sorduktan sonra işlem yapardı. HTML5 ile gelen sunucu tarafından gönderilen olaylar sayesinde bu güncellemeler otomatik hale geldi.

Bu işleme örnek verecek olursak, Facebook ve Twitter güncellemeleri, ürün fiyatı güncellemeleri, seçim sonuçları bu duruma örnektir. Sunucu tarafından gönderilen olaylar özelliği, Internet Explorer hariç tüm tarayıcılarda mevcuttur.

 

Sunucu tarafından gönderilen olaylar nasıl alınır?

EventResource nesnesi, sunucu tarafından gönderilen olayları tespit ve kabul etmek için kullanılır. Yeni bir EventSource nesnesi oluşturduktan sonra güncellemeleri gönderen web sayfasının URL'sini verin. Aşağıdaki örnekte bu URL, ornek.php dosyasıdır. Bir güncelleme isteği alındığı her an onmessage olayı meydana gelir. onmessage olayı meydana geldiği zaman alınan veriyi "sonuc" ID'si ile belirlenen elemana yerleştirin.

var KAYNAK = new EventSource("ornek.php");

KAYNAK.onmessage = function(event) {

    document.getElementById("sonuc").innerHTML += event.data + "<br>";

};