HTML API'leri: Temel Web Geliştirme Araçları - kapak
Teknoloji#html#api#web geliştirme#javascript

HTML API'leri: Temel Web Geliştirme Araçları

Bu özet, HTML Coğrafi Konum, Sürükle ve Bırak, Web Depolama, Web Çalışanları ve Sunucu Gönderili Olaylar API'lerinin amaçlarını, işlevlerini ve uygulama prensiplerini akademik bir yaklaşımla açıklamaktadır.

i23s95xd22 Nisan 2026 ~26 dk toplam
01

Sesli Özet

8 dakika

Konuyu otobüste, koşarken, yolda dinleyerek öğren.

Sesli Özet

HTML API'leri: Temel Web Geliştirme Araçları

0:008:00
02

Flash Kartlar

25 kart

Karta tıklayarak çevir. ← → ile gez, ⎵ ile çevir.

1 / 25
Tüm kartları metin olarak gör
  1. 1. HTML API'lerinin modern web uygulamalarındaki rolü nedir?

    HTML API'leri, modern web uygulamalarının geliştirilmesinde kritik bir rol oynar. Kullanıcı deneyimini zenginleştirerek ve çeşitli işlevleri yerine getirerek uygulamaların daha etkileşimli ve dinamik olmasını sağlarlar. Bu API'ler sayesinde web sayfaları, konum bilgisi alma, sürükle-bırak işlevselliği, yerel veri depolama ve arka plan işlemleri gibi gelişmiş özelliklere sahip olabilir.

  2. 2. Metinde bahsedilen beş temel HTML API'si hangileridir?

    Metinde bahsedilen beş temel HTML API'si şunlardır: Coğrafi Konum API'si, Sürükle ve Bırak API'si, Web Depolama API'si, Web Çalışanları API'si ve Sunucu Gönderili Olaylar API'si. Bu API'ler, modern web geliştiricilerinin sıklıkla kullandığı ve web uygulamalarına çeşitli yetenekler kazandıran araçlardır.

  3. 3. Coğrafi Konum API'sinin temel amacı nedir ve mahremiyet açısından önemi nedir?

    Coğrafi Konum API'sinin temel amacı, bir kullanıcının coğrafi konumunu, yani enlem ve boylam bilgilerini bulmaktır. Bu API, mahremiyet açısından büyük önem taşır çünkü kullanıcının açık onayı olmadan konum bilgisi alınamaz. Bu, kullanıcıların kişisel verilerinin korunmasını sağlar ve izinsiz konum takibini engeller.

  4. 4. Coğrafi Konum API'si ile konum doğruluğu nasıl değişir?

    Coğrafi Konum API'si ile konum doğruluğu kullanılan cihaza göre değişiklik gösterir. Akıllı cihazlarda GPS kullanımı sayesinde daha kesin sonuçlar elde edilir. Bilgisayarlarda ise internet ağına bağlı olarak tahmini bir konum sunulur. Bu durum, cihazın konum belirleme yeteneklerine ve mevcut ağ altyapısına göre farklılık gösterir.

  5. 5. Coğrafi Konum API'sinde konum bilgisi almak için hangi JavaScript metodu kullanılır ve başarılı/başarısız durumlarda hangi fonksiyonlar çağrılabilir?

    Coğrafi Konum API'sinde konum bilgisi almak için JavaScript'te navigator.geolocation.getCurrentPosition() metodu kullanılır. Bu metod, konum alma işlemi başarılı olduğunda bir showPosition fonksiyonunu çağırabilir. Hata durumunda ise bir showError fonksiyonunu çağırarak olası sorunları yönetmeyi sağlar.

  6. 6. Coğrafi Konum API'sinde showPosition fonksiyonu ile enlem ve boylam bilgileri nasıl alınır?

    showPosition fonksiyonu, getCurrentPosition() metodunun başarılı olması durumunda çağrılır ve bir konum nesnesi alır. Bu konum nesnesinden enlem bilgisi position.coords.latitude özelliği ile, boylam bilgisi ise position.coords.longitude özelliği ile alınır. Bu sayede kullanıcının tam coğrafi koordinatlarına erişim sağlanır.

  7. 7. Coğrafi Konum API'sinde karşılaşılabilecek olası hata türleri nelerdir?

    Coğrafi Konum API'sinde karşılaşılabilecek olası hata türleri şunlardır: PERMISSION_DENIED (kullanıcı izni vermedi), POSITION_UNAVAILABLE (lokasyon bilgisi kullanılamıyor), TIMEOUT (istek zaman aşımına uğradı) ve UNKNOWN_ERROR (beklenmeyen bir hata oluştu). Bu hatalar, showError fonksiyonu aracılığıyla yönetilir ve kullanıcıya uygun geri bildirim sağlanır.

  8. 8. Sürükle ve Bırak API'sinin temel amacı nedir?

    Sürükle ve Bırak API'sinin temel amacı, HTML'de bir nesnenin fare ile tutulup başka bir konuma sürüklenip bırakılmasını sağlayan etkileşimli uygulamalar geliştirmektir. Bu API, kullanıcıların web sayfalarıyla daha sezgisel ve doğrudan etkileşim kurmasına olanak tanır. Dosya yükleme, öğeleri yeniden düzenleme gibi işlevlerde yaygın olarak kullanılır.

  9. 9. Bir HTML elementini sürüklenebilir hale getirmek için hangi özellik kullanılır?

    Bir HTML elementini sürüklenebilir hale getirmek için draggable="true" özelliği kullanılır. Bu özellik, elementin fare ile tutulup sürüklenebileceğini tarayıcıya bildirir. Bu sayede, kullanıcılar bu elementi sürükle ve bırak işlemleri için kullanabilirler.

  10. 10. Sürükleme işlemi başladığında hangi olay tetiklenir ve bu olayda genellikle ne yapılır?

    Sürükleme işlemi başladığında ondragstart olayı tetiklenir. Bu olayda genellikle JavaScript fonksiyonu çalıştırılır ve dataTransfer.setData() metodu kullanılarak sürüklenen verinin türü ve değeri ayarlanır. Örneğin, sürüklenen elementin ID'si bu metod ile taşınabilir.

  11. 11. Sürüklenen bir element hedef elementin üzerine geldiğinde hangi olay tetiklenir ve neden event.preventDefault() çağrılır?

    Sürüklenen bir element hedef elementin üzerine geldiğinde ondragover olayı tetiklenir. Bu olayda event.preventDefault() çağrısı yapılır. Bunun nedeni, tarayıcının varsayılan bırakma işlemini engellemektir, böylece elementin üzerine bırakılmasına izin verilir ve özel sürükle-bırak mantığı uygulanabilir.

  12. 12. Sürüklenen element hedef elementin üzerine bırakıldığında hangi olay tetiklenir ve bu olayda genellikle ne yapılır?

    Sürüklenen element hedef elementin üzerine bırakıldığında ondrop olayı tetiklenir. Bu olayda da event.preventDefault() tekrar çağrılır. Ardından, dataTransfer.getData() metodu ile sürüklenen veri alınır ve appendChild() metodu kullanılarak sürüklenen element hedef elementin içine eklenir. Bu, elementin yeni konumuna taşınmasını sağlar.

  13. 13. Web Depolama API'sinin temel amacı nedir ve çerezlere göre avantajları nelerdir?

    Web Depolama API'sinin temel amacı, kullanıcı verilerini istemci tarafında, yani kullanıcının tarayıcısında güvenli bir şekilde saklamaktır. Çerezlere kıyasla daha güvenli, daha büyük veri kapasitesine sahip olması ve web sitesi performansını etkilemeden yerel olarak veri depolayabilmesi gibi önemli avantajları vardır.

  14. 14. window.localStorage ve window.sessionStorage arasındaki temel fark nedir?

    window.localStorage, verileri son kullanma tarihi olmadan depolar; tarayıcı kapatılsa bile veriler silinmez ve kalıcıdır. window.sessionStorage ise verileri yalnızca mevcut oturum için depolar; tarayıcı sekmesi kapatıldığında veriler otomatik olarak silinir. Bu, verilerin kalıcılığı açısından önemli bir farktır.

  15. 15. localStorage'a veri kaydetmek ve geri çağırmak için hangi metodlar kullanılır?

    localStorage'a veri kaydetmek için localStorage.setItem("anahtar", "değer") metodu kullanılır. Kaydedilen veriyi geri çağırmak için ise localStorage.getItem("anahtar") metodu kullanılır. Bu metodlar, anahtar-değer çiftleri şeklinde veri depolama ve erişim sağlar.

  16. 16. Web Depolama API'sinin tarayıcı tarafından desteklenip desteklenmediği nasıl kontrol edilir?

    Web Depolama API'sinin tarayıcı tarafından desteklenip desteklenmediği typeof(Storage) !== "undefined" kontrolü ile doğrulanmalıdır. Bu kontrol, kodun API'yi kullanmadan önce tarayıcının yeteneklerini anlamasını sağlar ve uyumsuzluk durumunda hataların önüne geçer.

  17. 17. Web Çalışanları API'sinin temel amacı nedir ve web sayfasının performansına nasıl katkıda bulunur?

    Web Çalışanları API'sinin temel amacı, web sayfasının performansını etkilemeden arka planda JavaScript kodunu çalıştırmaktır. Bu sayede, yoğun hesaplama gerektiren işlemler ana iş parçacığını bloke etmez ve kullanıcı arayüzü duyarlı kalır. Bu durum, web uygulamalarının daha akıcı ve hızlı çalışmasını sağlar.

  18. 18. Web Çalışanları API'sinde arka planda çalışacak JavaScript kodu nerede tanımlanır ve ana sayfa ile iletişim nasıl sağlanır?

    Web Çalışanları API'sinde arka planda çalışacak JavaScript kodu ayrı bir dosyada tanımlanır, örneğin demo_workers.js. Ana sayfa ile web çalışanı arasındaki iletişim postMessage() metodu aracılığıyla gerçekleşir. Web çalışanı postMessage() ile ana sayfaya veri gönderirken, ana sayfa worker.onmessage olayı ile bu verileri dinler ve alır.

  19. 19. Bir web çalışanını başlatmak ve durdurmak için hangi metodlar kullanılır?

    Bir web çalışanını başlatmak için new Worker("dosya_adı.js") metodu kullanılır. Bu, belirtilen JavaScript dosyasını ayrı bir iş parçacığında çalıştırır. Çalışan bir web işçisini durdurmak için ise worker.terminate() metodu kullanılır. Bu metod, çalışanın işini sonlandırır ve kaynaklarını serbest bırakır.

  20. 20. Web Çalışanları API'sinin tarayıcı tarafından desteklenip desteklenmediği nasıl kontrol edilir?

    Web Çalışanları API'sinin tarayıcı tarafından desteklenip desteklenmediği typeof(Worker) !== "undefined" kontrolü ile doğrulanmalıdır. Bu kontrol, uygulamanın Web Çalışanları'nı kullanmadan önce tarayıcının bu özelliği destekleyip desteklemediğini anlamasını sağlar.

  21. 21. Sunucu Gönderili Olaylar API'sinin temel amacı nedir?

    Sunucu Gönderili Olaylar API'sinin temel amacı, sunucu tarafından istemciye tek yönlü, gerçek zamanlı veri akışı sağlamaktır. Bu API, sunucunun istemciye olaylar göndermesine olanak tanır. Bu sayede, web sayfaları sunucudan gelen güncellemeleri anında alabilir ve dinamik içerik sunabilir.

  22. 22. Sunucu Gönderili Olaylar API'si ile Web Çalışanları API'si arasındaki temel fark nedir?

    Sunucu Gönderili Olaylar API'si, sunucu tarafından başlatılan işlemlerin sonucunu istemciye iletir ve tek yönlü bir veri akışı sağlar. Web Çalışanları API'si ise istemci tarafında, ana iş parçacığını bloke etmeden arka plan işlemleri yapmak için kullanılır. Yani, biri sunucudan istemciye, diğeri istemci içinde arka plan işlemleri için kullanılır.

  23. 23. Sunucu Gönderili Olaylar API'sinde sunucu, olay akışını nasıl gönderir ve her olay nasıl biçimlendirilir?

    Sunucu Gönderili Olaylar API'sinde sunucu, Content-Type: text/event-stream başlığı ile olay akışı gönderir. Her olay data: önekiyle başlar ve çift yeni satır karakteri (\n\n) ile sonlanır. Bu format, istemcinin olayları doğru bir şekilde ayrıştırmasını sağlar.

  24. 24. İstemci tarafında Sunucu Gönderili Olaylar API'si ile sunucuya bağlantı nasıl kurulur ve gelen veriler nasıl yakalanır?

    İstemci tarafında, EventSource nesnesi kullanılarak sunucuya bağlantı kurulur: var source = new EventSource("sunucu_url.php"). Sunucudan gelen veriler source.onmessage olayı aracılığıyla yakalanır ve event.data özelliği ile erişilir. Bu sayede, sunucudan gelen güncellemeler anında web sayfasında görüntülenebilir.

  25. 25. Sunucu Gönderili Olaylar API'sinin tarayıcı tarafından desteklenip desteklenmediği nasıl kontrol edilir?

    Sunucu Gönderili Olaylar API'sinin tarayıcı tarafından desteklenip desteklenmediği typeof(EventSource) !== "undefined" kontrolü ile doğrulanmalıdır. Bu kontrol, uygulamanın bu API'yi kullanmadan önce tarayıcının yeteneklerini anlamasını sağlar ve uyumsuzluk durumunda hataların önüne geçer.

03

Bilgini Test Et

15 soru

Çoktan seçmeli sorularla öğrendiklerini ölç. Cevap + açıklama.

Soru 1 / 15Skor: 0

Modern web uygulamalarında kullanıcı deneyimini zenginleştiren ve çeşitli işlevleri yerine getiren güçlü araçlara genel olarak ne ad verilir?

04

Detaylı Özet

8 dk okuma

Tüm konuyu derinlemesine, başlık başlık.

📚 HTML API'leri Çalışma Materyali

Kaynak Bilgisi: Bu çalışma materyali, bir dersin ses kaydı transkripti ve kopyalanmış metin kaynakları birleştirilerek hazırlanmıştır.


Giriş: HTML API'lerine Genel Bakış

Modern web uygulamalarının geliştirilmesinde HTML API'leri, kullanıcı deneyimini zenginleştiren ve çeşitli işlevleri yerine getiren güçlü araçlardır. Bu materyalde, web geliştiricilerinin sıklıkla kullandığı beş temel HTML API'si detaylı olarak incelenecektir: Coğrafi Konum API'si, Sürükle ve Bırak API'si, Web Depolama API'si, Web Çalışanları API'si ve Sunucu Gönderili Olaylar API'si. Her bir API'nin amacı, çalışma prensipleri ve temel kullanım senaryoları ele alınacaktır.


1. Coğrafi Konum API'si (Geolocation API)

Tanım ve Amaç 📚 Coğrafi Konum API'si, bir kullanıcının enlem ve boylam bilgilerini içeren coğrafi konumunu bulmak için kullanılır. Bu API, mahremiyet açısından kritik öneme sahiptir ve kullanıcının açık onayı olmadan konum bilgisi alınamaz.

Çalışma Prensibi ve Doğruluk

  • Cihaz Bağımlılığı: Konum doğruluğu kullanılan cihaza göre değişir. Akıllı cihazlarda GPS kullanımı sayesinde daha kesin sonuçlar elde edilirken, bilgisayarlarda internet ağına bağlı olarak tahmini bir konum sunulur.
  • Tarayıcı Desteği: Güncel bir web tarayıcısı bu API'yi kullanmak için yeterlidir.
  • Kullanıcı Onayı: API, kullanıcının izni olmadan çalıştırılamaz.

Temel Kullanım ve Detaylı Kod Açıklaması 💡 Konum bilgisi almak için JavaScript'te navigator.geolocation.getCurrentPosition() metodu kullanılır. Bu metod, başarılı olduğunda bir showPosition fonksiyonunu, hata durumunda ise bir showError fonksiyonunu çağırabilir.

1️⃣ Buton Tetikleme:

<button onclick="getLocation()">Bulunduğunuz konumun koordinatları için tıklayın.</button>
<p id="konumElementID"></p>

getLocation() fonksiyonu, butona tıklandığında çalışır.

2️⃣ Konum Bilgisi Alma Fonksiyonu (getLocation):

var x = document.getElementById("konumElementID"); // Konum bilgisinin yazılacağı element
function getLocation() {
    if (navigator.geolocation) { // Tarayıcı desteği kontrolü
        navigator.geolocation.getCurrentPosition(showPosition, showError); // Konum al, başarılı olursa showPosition, hata olursa showError çağır
    } else {
        x.innerHTML = "Coğrafik konum bu tarayıcı tarafından desteklenmemektedir.";
    }
}
  • navigator.geolocation: Tarayıcının coğrafi konum desteğini kontrol eder.
  • getCurrentPosition(successCallback, errorCallback): Kullanıcının mevcut konumunu alır. successCallback başarılı olduğunda, errorCallback hata durumunda çalışır.

3️⃣ Başarılı Konum Alma Fonksiyonu (showPosition):

function showPosition(position) {
    x.innerHTML = "Enlem: " + position.coords.latitude + "<br>";
    x.innerHTML += "Boylam: " + position.coords.longitude;
}
  • position nesnesi, konum bilgilerini içerir.
  • position.coords.latitude: Enlem değerini verir.
  • position.coords.longitude: Boylam değerini verir.

4️⃣ Hata Yönetimi Fonksiyonu (showError) ⚠️ Olası hatalar showError fonksiyonu ile yönetilir. Bu fonksiyon, error nesnesini parametre olarak alır ve error.code özelliğine göre farklı hata mesajları gösterebilir.

function showError(error) {
    switch(error.code) {
        case error.PERMISSION_DENIED:
            x.innerHTML = "Coğrafi konum için kullanıcı izni verilmedi.";
            break;
        case error.POSITION_UNAVAILABLE:
            x.innerHTML = "Lokasyon bilgisi kullanıma dışıdır.";
            break;
        case error.TIMEOUT:
            x.innerHTML = "Kullanıcının konumunu alma isteği zaman aşımına uğradı.";
            break;
        case error.UNKNOWN_ERROR:
            x.innerHTML = "Öngörülemeyen bir hata oluştu.";
            break;
    }
}
  • PERMISSION_DENIED: Kullanıcı konum izni vermediğinde.
  • POSITION_UNAVAILABLE: Konum bilgisi mevcut olmadığında.
  • TIMEOUT: Konum isteği belirli bir süre içinde yanıt vermediğinde.
  • UNKNOWN_ERROR: Diğer beklenmeyen hatalar için.

2. Sürükle ve Bırak API'si (Drag and Drop API)

Tanım ve Amaç 📚 Sürükle ve Bırak API'si, HTML'de bir nesnenin fare ile tutulup başka bir konuma sürüklenip bırakılmasını sağlayan etkileşimli uygulamalar geliştirmek için kullanılır.

Çalışma Prensibi ve Özellikler ✅ Bu API, sürüklenen elementin ve üzerine bırakılan hedef elementin belirli özelliklere sahip olmasını gerektirir. Temel olarak dört olay ve bir HTML özelliği kullanılır:

  • draggable="true": Bir elementin sürüklenebilir olduğunu belirtir.
  • ondragstart: Sürükleme başladığında tetiklenir.
  • ondragover: Sürüklenen bir element hedef elementin üzerine geldiğinde tetiklenir.
  • ondrop: Sürüklenen element hedef elementin üzerine bırakıldığında tetiklenir.
  • dataTransfer nesnesi: Sürüklenen veriyi taşır.

Temel Kullanım ve Detaylı Kod Açıklaması 💡

1️⃣ HTML Yapısı:

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">
  • draggable="true": img elementinin sürüklenebilir olmasını sağlar.
  • ondragstart="drag(event)": img sürüklenmeye başladığında drag fonksiyonunu çağırır.
  • ondragover="allowDrop(event)": div üzerine sürüklenen bir element geldiğinde allowDrop fonksiyonunu çağırır.
  • ondrop="drop(event)": div üzerine bir element bırakıldığında drop fonksiyonunu çağırır.

2️⃣ Sürükleme Fonksiyonu (drag):

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id); // Sürüklenen verinin türünü ve değerini ayarlar
}
  • ev.dataTransfer.setData("text", ev.target.id): Sürüklenen elementin id'sini "text" türünde veri olarak ayarlar. Bu veri, bırakma anında alınacaktır.

3️⃣ Bırakmaya İzin Verme Fonksiyonu (allowDrop):

function allowDrop(ev) {
    ev.preventDefault(); // Varsayılan bırakma işlemini engeller
}
  • ev.preventDefault(): Tarayıcının varsayılan olarak bir elementin başka bir element üzerine bırakılmasını engellemesini önler. Bu sayede ondrop olayı tetiklenebilir.

4️⃣ Bırakma Fonksiyonu (drop):

function drop(ev) {
    ev.preventDefault(); // Varsayılan bırakma işlemini engeller
    var data = ev.dataTransfer.getData("text"); // Sürüklenen veriyi alır
    ev.target.appendChild(document.getElementById(data)); // Sürüklenen elementi hedef elementin içine ekler
}
  • ev.preventDefault(): Yine varsayılan davranışı engeller.
  • ev.dataTransfer.getData("text"): drag fonksiyonunda ayarlanan "text" türündeki veriyi (yani sürüklenen elementin ID'sini) alır.
  • ev.target.appendChild(document.getElementById(data)): Sürüklenen elementi (ID'si data olan) hedef elementin (ev.target) içine ekler.

3. Web Depolama API'si (Web Storage API)

Tanım ve Amaç 📚 Web Depolama API'si, kullanıcı verilerini istemci tarafında (tarayıcıda) güvenli bir şekilde saklamak için tasarlanmıştır. Çerezlere kıyasla daha güvenli, daha büyük veri kapasitesine sahip ve web sitesi performansını etkilemeden yerel olarak veri depolayabilir.

İki Ana Nesne

  1. window.localStorage: Verileri son kullanma tarihi olmadan depolar. Tarayıcı kapatılsa bile veriler silinmez ve kalıcıdır.
  2. window.sessionStorage: Verileri yalnızca mevcut oturum için depolar. Tarayıcı sekmesi kapatıldığında veriler otomatik olarak silinir.

Temel Kullanım ve Detaylı Kod Açıklaması 💡

1️⃣ Tarayıcı Desteği Kontrolü:

if (typeof(Storage) !== "undefined") {
    // Web depolama destekleniyor
} else {
    // Web depolama desteklenmiyor
}
  • typeof(Storage) !== "undefined": Web depolama API'sinin tarayıcı tarafından desteklenip desteklenmediğini kontrol eder.

2️⃣ Veri Depolama (localStorage.setItem):

localStorage.setItem("lastname", "Smith"); // "lastname" anahtarına "Smith" değerini kaydeder
  • localStorage.setItem(anahtar, değer): Belirtilen anahtar-değer çiftini localStorage'a kaydeder.

3️⃣ Depolanan Veriyi Geri Çağırma (localStorage.getItem):

var storedValue = localStorage.getItem("lastname"); // "lastname" anahtarının değerini alır
document.getElementById("result").innerHTML = storedValue;
  • localStorage.getItem(anahtar): Belirtilen anahtara karşılık gelen değeri localStorage'dan alır.

Örnek: Tıklama Sayacı 📊 localStorage ve sessionStorage arasındaki farkı göstermek için tıklama sayacı örnekleri:

  • localStorage Örneği (Kalıcı Sayım):

    function clickCounter() {
        if (typeof(Storage) !== "undefined") {
            if (localStorage.clickcount) {
                localStorage.clickcount = Number(localStorage.clickcount) + 1;
            } else {
                localStorage.clickcount = 1;
            }
            document.getElementById("result").innerHTML = "Butona " + localStorage.clickcount + " kez tıkladınız.";
        } else {
            document.getElementById("result").innerHTML = "Tarayıcınız web depolama API'sini desteklememektedir.";
        }
    }
    

    Bu örnekte, tarayıcı kapatılıp açılsa bile clickcount değeri korunur.

  • sessionStorage Örneği (Oturum Bazlı Sayım):

    function clickCounter() {
        if (typeof(Storage) !== "undefined") {
            if (sessionStorage.clickcount) {
                sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
            } else {
                sessionStorage.clickcount = 1;
            }
            document.getElementById("result").innerHTML = "Bu oturumda butona " + sessionStorage.clickcount + " kez tıkladınız.";
        } else {
            document.getElementById("result").innerHTML = "Tarayıcınız web depolama API'sini desteklememektedir.";
        }
    }
    

    Bu örnekte, tarayıcı sekmesi kapatıldığında clickcount değeri sıfırlanır.


4. Web Çalışanları API'si (Web Workers API)

Tanım ve Amaç 📚 Web Çalışanları API'si, web sayfasının performansını etkilemeden arka planda JavaScript kodunu çalıştırmak için kullanılır. Bu sayede, yoğun hesaplama gerektiren işlemler ana iş parçacığını (UI thread) bloke etmez ve kullanıcı arayüzü duyarlı kalır.

Çalışma Prensibi ve İletişim

  • Ayrı Dosya: Arka planda çalışacak JavaScript kodu ayrı bir dosyada tanımlanır (örn. demo_workers.js).
  • Mesajlaşma: Ana sayfa ile web çalışanı arasındaki iletişim postMessage() metodu aracılığıyla gerçekleşir.
  • Performans: Ana iş parçacığından bağımsız çalıştığı için sayfa donmaz veya yavaşlamaz.

Temel Kullanım ve Detaylı Kod Açıklaması 💡

1️⃣ Arka Plan JavaScript Dosyası (demo_workers.js):

var i = 0;
function timedCount() {
    i = i + 1;
    postMessage(i); // Ana sayfaya mesaj gönderir
    setTimeout("timedCount()", 500); // Her 500 milisaniyede bir kendini çağırır
}
timedCount();
  • postMessage(i): i değişkeninin değerini ana sayfaya gönderir.
  • setTimeout(): Belirli aralıklarla fonksiyonun tekrar çalışmasını sağlar.

2️⃣ Ana Sayfa JavaScript Kodu:

var w; // Web çalışanı nesnesi
function startWorker() {
    if (typeof(Worker) !== "undefined") { // Tarayıcı desteği kontrolü
        if (typeof(w) == "undefined") { // Web çalışanı daha önce tanımlanmamışsa
            w = new Worker("demo_workers.js"); // Yeni bir web çalışanı oluşturur
        }
        w.onmessage = function(event) { // Web çalışanından gelen mesajı dinler
            document.getElementById("result").innerHTML = event.data; // Gelen veriyi ekrana yazar
        };
    } else {
        document.getElementById("result").innerHTML = "Tarayıcınız web çalışanını desteklemiyor.";
    }
}

function stopWorker() {
    w.terminate(); // Web çalışanını durdurur
    w = undefined; // Nesneyi sıfırlar
}
  • typeof(Worker) !== "undefined": Web Çalışanları API'sinin tarayıcı tarafından desteklenip desteklenmediğini kontrol eder.
  • new Worker("demo_workers.js"): Yeni bir web çalışanı oluşturur ve demo_workers.js dosyasını arka planda çalıştırmaya başlar.
  • w.onmessage = function(event){...}: Web çalışanından postMessage() ile gönderilen verileri event.data üzerinden yakalar.
  • w.terminate(): Çalışan web işçisini durdurur ve kaynaklarını serbest bırakır.

5. Sunucu Gönderili Olaylar API'si (Server-Sent Events API - SSE)

Tanım ve Amaç 📚 Sunucu Gönderili Olaylar API'si, sunucu tarafından istemciye tek yönlü, gerçek zamanlı veri akışı sağlamak için kullanılır. Bu, sunucunun istemciye olaylar göndermesine olanak tanır. Web Çalışanları API'si istemci tarafında arka plan işlemleri yaparken, SSE sunucu tarafından başlatılan işlemlerin sonucunu istemciye iletir.

Çalışma Prensibi ve Entegrasyon

  • Tek Yönlü İletişim: Sunucudan istemciye doğru sürekli bir veri akışı sağlar.
  • Sunucu Tarafı: Genellikle PHP, Node.js gibi sunucu tarafı teknolojilerle entegre çalışır.
  • text/event-stream: Sunucu, Content-Type: text/event-stream başlığı ile olay akışı gönderir.
  • Olay Formatı: Her olay data: önekiyle başlar ve çift yeni satır karakteri (\n\n) ile sonlanır.

Temel Kullanım ve Detaylı Kod Açıklaması 💡

1️⃣ Sunucu Tarafı PHP Kodu (demo_sse.php):

<?php
header('Content-Type: text/event-stream'); // Olay akışı başlığı
header('Cache-Control: no-cache'); // Önbelleğe alınmasını engeller

$time = date('r'); // Mevcut zamanı alır
echo "data: Sunucu Saati: {$time}\n\n"; // Veriyi "data:" önekiyle gönderir
flush(); // Çıktı tamponunu temizler ve veriyi hemen gönderir
?>
  • header('Content-Type: text/event-stream'): Tarayıcıya bu akışın bir olay akışı olduğunu bildirir.
  • echo "data: Sunucu Saati: {$time}\n\n";: Sunucu saatini data: önekiyle gönderir ve \n\n ile olayın sonunu belirtir.

2️⃣ İstemci Tarafı JavaScript Kodu:

if (typeof(EventSource) !== "undefined") { // Tarayıcı desteği kontrolü
    var source = new EventSource("demo_sse.php"); // EventSource nesnesi oluşturur
    source.onmessage = function(event) { // Sunucudan gelen mesajı dinler
        document.getElementById("result").innerHTML += event.data + "<br>"; // Gelen veriyi ekrana yazar
    };
} else {
    document.getElementById("result").innerHTML = "Tarayıcınız sunucu gönderili olayları desteklemiyor.";
}
  • typeof(EventSource) !== "undefined": SSE API'sinin tarayıcı tarafından desteklenip desteklenmediğini kontrol eder.
  • new EventSource("demo_sse.php"): Belirtilen URL'deki sunucu olay akışına bağlanır.
  • source.onmessage = function(event){...}: Sunucudan gelen her mesajı event.data özelliği üzerinden yakalar ve işler.

Sonuç: Modern Web Geliştirmede HTML API'lerinin Rolü

HTML API'leri, modern web geliştirmenin temel taşlarından biridir. Coğrafi Konum API'si ile kullanıcıların konum bilgilerine güvenli bir şekilde erişim sağlanırken, Sürükle ve Bırak API'si interaktif kullanıcı arayüzleri oluşturmayı kolaylaştırır. Web Depolama API'si, çerezlere kıyasla daha gelişmiş ve kalıcı veri depolama çözümleri sunar. Web Çalışanları API'si, arka plan işlemlerini ana iş parçacığından ayırarak web uygulamalarının performansını ve duyarlılığını artırır. Sunucu Gönderili Olaylar API'si ise sunucudan istemciye gerçek zamanlı veri akışını mümkün kılarak dinamik ve güncel içerik sunumunu destekler. Bu API'ler, web uygulamalarını daha işlevsel, hızlı ve kullanıcı dostu hale getirerek modern web deneyiminin vazgeçilmez unsurlarıdır.

Kendi çalışma materyalini oluştur

PDF, YouTube videosu veya herhangi bir konuyu dakikalar içinde podcast, özet, flash kart ve quiz'e dönüştür. 1.000.000+ kullanıcı tercih ediyor.

Sıradaki Konular

Tümünü keşfet
HTML ve Web Tasarımına Giriş: Temel Kavramlar ve Süreçler

HTML ve Web Tasarımına Giriş: Temel Kavramlar ve Süreçler

Bu özet, internetin yapısını, web sitelerinin türlerini, etkili web tasarımı prensiplerini, HTML'nin temellerini ve web geliştirme teknolojilerini akademik bir yaklaşımla incelemektedir.

7 dk Özet 25 15
HTML5, CSS3 ve Web Programlamada Yeni Eğilimler

HTML5, CSS3 ve Web Programlamada Yeni Eğilimler

Bu özet, HTML, HTML5 ve CSS3 kullanarak web sayfası tasarımının temel prensiplerini, semantik yapıları, medya entegrasyonunu, yeni giriş tiplerini ve gelişmiş stil özelliklerini akademik bir yaklaşımla sunmaktadır.

7 dk Özet 25 15
Veri Yolu Monitörü ve Görev Bilgisayarı

Veri Yolu Monitörü ve Görev Bilgisayarı

Bu podcast'te, veri iletişiminin güvenilirliğini sağlayan Veri Yolu Monitörü'nün işlevlerini ve bu kritik bileşenin, Operasyonel Uçuş Programı ile birlikte Görev Bilgisayarı içindeki rolünü detaylıca inceliyorum.

Özet Görsel
Bilgisayar Bilimlerinin Temel Kavramları

Bilgisayar Bilimlerinin Temel Kavramları

Bu içerik algoritmalar, yazılım türleri, dosya ve klasör yönetimi ile işletim sisteminin işlevleri gibi bilgisayar bilimlerinin temel kavramlarını akademik bir yaklaşımla incelemektedir.

6 dk 25 15
Swift Kontrol Akış Yapıları ve Yapay Zeka Destekli iOS Uygulamaları

Swift Kontrol Akış Yapıları ve Yapay Zeka Destekli iOS Uygulamaları

Bu içerik, yapay zeka destekli mobil uygulama geliştirmede Swift'in if/else, switch ve döngü gibi kontrol akış yapılarını detaylıca ele almaktadır. Mantıksal karar alma ve veri işleme süreçleri incelenmiştir.

9 dk Özet 25 15 Görsel
BlackArch Linux ile Ağ Saldırıları ve Güvenlik Analizi

BlackArch Linux ile Ağ Saldırıları ve Güvenlik Analizi

Bu içerik, BlackArch Linux kullanarak gerçekleştirilen ağ içi ve ağ dışı saldırı tekniklerini, temel protokolleri ve ilgili araçları akademik bir yaklaşımla incelemektedir.

6 dk Özet 25 15 Görsel
İletişim Teknolojilerinin Gelişim Süreci ve İnternet

İletişim Teknolojilerinin Gelişim Süreci ve İnternet

Bu özet, iletişim teknolojilerinin tarihsel gelişimini, bilgisayar ağlarının ve internetin ortaya çıkışını, günümüzdeki etkilerini ve bilgi çağının getirdiği dönüşümleri akademik bir perspektifle incelemektedir.

7 dk 25 15
R-L Yükleri ve Doğrultucu Devre Analizleri

R-L Yükleri ve Doğrultucu Devre Analizleri

Bu özet, R-L yüklerinin Kirchhoff Voltaj Kanunu ile analizini, akım tepkisi bileşenlerini ve R-L-DC kaynak, anti-paralel diyot, kapasitör filtreli ve kontrollü yarım dalga doğrultucu devrelerini incelemektedir.

6 dk Özet 25 15 Görsel