JavaScript ve
XMLHttpRequest ile etkileşimli web uygulamaları yaratmak için kullanılan tekniğe
AJAX denir.
AJAX; HTML, CSS, DOM, XML, JavaScript XML ve
HttpRequest gibi birçok teknolojinin birleştirilmesiyle geliştirilmiştir.
AJAX’ın en yaygın şekilde kullanımı yani temel amacı, sunucu ile az miktarda bilgi değiş tokuşu yaparak sayfaları hızlı şekilde güncelleyen web sayfaları yapmaktır. Bu da web sayfalarının hızının, kullanılabilirliğinin ve etkileşimin artmasına yardımcı olur.
AJAX, ilk defa 2005 senesinde
Jesse James Garrett tarafından geliştirilmiş bir tekniktir.
AJAX ismi
Asynchronous JavaScript ve
XML kelimelerinin baş harflerinden gelmektedir.
AJAX, bir dil ya da kütüphane değil, bir yöntemdir.
AJAX tekniğiyle kod yazılmaz.
AJAX, JavaScript ve
XML dilleriyle ve tarayıcıda bulunan
XmlHttpRequest nesnesiyle birlikte kullanılır.
AJAX Nasıl Çalışır?
▬ Web sayfasında bir olay meydana gelir (bir sayfa yüklenir ya da bir düğmeye tıklanır).
▬ JavaScript tarafından bir XMLHttpRequest nesnesi oluşturulur.
▬ Bu XMLHttpRequest nesnesi web sunucusuna istek gönderir.
▬ Sunucu bu isteği işleyerek, web sayfasına geri bir cevap gönderir.
▬ Gelen yanıt JavaScript tarafından okunur.
▬ JavaScript ile sayfa güncellemesi tarzında bir işlem gerçekleştirilir.
AJAX’ın temel taşı XMLHttpRequest nesnesidir. Modern tüm tarayıcılarda bu nesneyi desteklemektedir.
XMLHttpRequest nesnesi sayesinde sunucuyla veri alışverişinde bulunulur. Bu da, tüm sayfanın sıfırdan yüklemeden, bir web sayfasının bazı bölümlerinin güncellemesini mümkün kılar.
Chrome, Firefox, IE7+, Edge, Safari ve
Opera gibi tüm tarayıcılarda yerleşik bir
XMLHttpRequest nesnesi bulunmaktadır.
AJAX Ne İşe Yarar ve Nerelerde Kullanılır?
✓ Form Doğrulama: Formlar web sayfalarının olmazsa olmazları arasındadır. AJAX ile kolay ve hızlı şekilde form doğrulama yapılır.
✓ Lightbox: Web sitelerinde açılan pop-up’lar çoğu zaman rahatsız edicidir ve birçok tarayıcı tarafından da engellenir. AJAX ile pop-up’a iyi bir alternatif olarak lightbox yapılabilinir.
✓ Sıralama / Filtreleme: Bazen arama sonuçlarını ya da herhangi bir veriyi tarihe, maliyet gibi belli durumlara göre sıralamak ve filtrelemek istediğinizde AJAX bunun için en iyi tekniktir.
✓ Oy Verme / Değerlendirme: Bir kullanıcı herhangi bir şey hakkında oy verirse ya da değerlendirme yaparsa tüm sayfanın yenilenmesine gerek kalmaz. Oylama veya değerlendirme sonucu AJAX kullanılarak yapılabilir.
✓ Sohbet Siteleri: Sohbetler her zaman gerçek zamanlı işlemlerdir. Bu nedenle de eğer web sitenizde bir sohbet paneli yapacaksanız AJAX kullanmanız gerekir.
✓ Blog Yorumları: Blog yazılarınızın yorumları arama motorları için kullanışlı değildir. AJAX ile yeni bir tane gönderebilir ya da önceki yorumları yükleyebilirsiniz.
✓ Captcha: Captcha'yı yapmak için AJAX kullanmalısınız.
AJAX Tekniği Hangi Teknolojileri Kullanır?
AJAX'ın iyi bir kullanıcı deneyimi sunmak ve web sitesini daha hızlı hale getirmek için kullanılan en iyi seçenekten biri olduğunu kolaylıkla söyleyebiliriz. Eğer ki, web sitenizde Google haritalar, sohbet odaları, canlı bildirimler, canlı yayın gibi uygulamalar varsa AJAX size üst düzey hizmet sunacaktır.
AJAX tekniğinin birçok platformda kullanılmasını sağlayan geniş bir kod kütüphanesi yanı sıra Framework bulunmaktadır. Bunlar da bu tekniğin, yazılım mimarisinden işlerim sistemine ve web tarayıcılarına kadar çok çeşitli yerde kullanılmasını mümkün kılmaktadır. Şöyle ki;
• HTML ya da XHTML ve CSS’de bilginin biçimlendirilmesi ve görüntünün değiştirilmesinde,
• Verileri görüntülemek ve iletişim kurmak yani etkileşimli çalışmak için JavaScript, JScript ve ECMAScript gibi bir scripting dili yardımıyla erişebilen DOM (Document Object Model) oluşturulmasında,
• Tarayıcı ve sunucu arasındaki bilgi transferinde kullanılan XMLHttpRequest işlemlerinde,
(Bazı özel AJAX frameworklar bazı tarayıcılarda bu işlem için iFrame de kullanılabilir.)
• Veri iletişiminde genelde
XML kullanılır ancak düz metin, önceden hazırlanmış
HTML, JSON veya EBML'de de kullanılabilir. Bu tarz dosyalar genel olarak sunucu tarafında dinamik olarak yaratılır (PHP, ASP. vb.).
•
AJAX; DHTML ve LAMP gibi tekil bir teknolojiden çok tekniklerin birlikte bir bütün olarak kullanımıdır.