Teknoloji jargonunu çözme arayışınız devam ederken, sonunda AJAX terimiyle karşılaşacaksınız. Ne anlama gelir? Bir programlama dili mi? Bir yazılım platformu mu? Bir web uygulaması mı? Cevap aslında bunların hiçbiri değil.
AJAX nedir?
AJAX, Asenkron JavaScript ve XML anlamına gelen bir kısaltmadır. Web siteleri ve web uygulamaları oluşturmak için kullanılan bir dizi geliştirme tekniğini tanımlar. AJAX’ın temel işlevi, web içeriğini eş zamansız olarak güncellemektir. Yani sayfadaki içeriğin yalnızca küçük bir bölümünün değişmesi gerektiğinde, kullanıcının web tarayıcısının tüm web sayfasını yeniden yüklemesine gerek yoktur.
Eş zamansız güncellemenin en yaygın örneklerinden biri Google’ın “Google Suggest” özelliği. Google’ın arama çubuğundan bir arama yaptığınızda ve siz yazarken Google otomatik olarak otomatik tamamlama seçenekleri sunmaya başladığında, AJAX iş başındadır. Sayfadaki içerik sayfayı manuel olarak yenilemek zorunda kalmadan değişir. Google Suggest gibi özellikler, AJAX’ın web geliştirmede ne kadar önemli olduğuna işaret eden, çağdaş web’de gezinmenin temel bir parçasıdır. Google Suggest’e ek olarak, AJAX’ın durum ve bildirim çubukları, çevrimiçi formlar, yorum bölümleri ve anketler gibi özellikleri güncellemek için yaygın olarak kullanılıyor. Ancak AJAX’ın “J” ve “X”i tam olarak nedir ve asenkron güncellemeyi nasıl mümkün kılarlar?
JavaScript ve XML
Yukarıda bahsedildiği gibi, AJAX’taki “J”, JavaScript anlamına gelir. JavaScript bir tür betik dilidir. Web geliştiricilerinin sayfada görünen sürecin her bir örneğini ayrı ayrı programlamak zorunda kalmamaları için web sitesi işlemlerini otomatikleştirmek için kullanılan kodlama dilleridir. JavaScript’in durumunda, özellikle dinamik web sitesi içeriği oluşturmak, eklemek ve yönetmek için kullanılır.
Başka bir deyişle, HTML ve CSS gibi biçimlendirme dillerinden sonra statik web özelliklerini (başlıklar, yazı tipleri, paragraflar vb.) oluşturmak ve görüntülemek için kullanılır, JavaScript daha sonra bir ziyaretçi bir sayfayı görüntülerken gerçek zamanlı güncellemeler gerektiren özellikleri kontrol etmek için kullanılır (etkileşimli haritaları, hareketli grafikleri, kayan videoyu düşünün, müzik kutuları vb.) JavaScript, görüntüleyenlerin tüm sayfaları manuel olarak yeniden yüklemesini gerektirmeden sayfa içeriğini güncelleme işinde olduğundan, AJAX’ın eş zamansız güncellemesi için kritik bir bileşendir.
AJAX’taki “X”, XML’dir (Genişletilebilir İşaretleme Dili). Adından da anlaşılacağı gibi, XML bir biçimlendirme dilidir, yani HTML ve CSS gibi dillerle aynı ailedendir. İşaretleme dilleri, bir web belgesinin, sayfada görüntülenmesi amaçlanan gerçek metne karşı bir web sayfasının nasıl anlaşılacağı, işleneceği ve görüntüleneceği hakkında web tarayıcılarına talimatlar vermesi amaçlanan bölümlerine açıklama eklemek için kullanılan kodlama dilleridir.
HTML ve CSS, sayfa içeriğinin nasıl görüntüleneceğini (paragraflar, başlıklar, yazı tipleri, renkler vb.) yönlendirmeye odaklanırken, XML, sayfada depolanan verileri onu görüntüleyen tarayıcılara aktarmak için kullanılır. Bireysel bilgisayar sistemleri genellikle birbirleriyle uyumsuzdur ve farklı bir sistem tarafından biçimlendirilmiş verileri anlayamaz veya bunlarla etkileşime giremez. XML, geliştiricilerin verileri XML etiketleri arasında düz metin biçiminde depolayarak bu engeli aşmasına olanak tanır. Bunu yaparak, XML, belirli bir yazılım veya donanım sistemine bağlı olmayan verileri depolamak, taşımak ve paylaşmak için bir yol sunar.
AJAX Nasıl Çalışır?
JavaScript ve XML, XMLHttpRequest nesnesi adı verilen bir şeyin kullanılması yoluyla eş zamansız güncellemenin gerçekleşmesini sağlamak için birleşir. Bir kullanıcı AJAX’ı kullanmak üzere tasarlanmış bir web sayfasını ziyaret ettiğinde ve öngörülen bir olay gerçekleştiğinde (kullanıcı sayfayı yükler, bir butona tıklar, bir form doldurur, vb.) JavaScript bir XMLHttpRequest nesnesi oluşturur ve bu nesne daha sonra verileri bir XML’e aktarır. XMLHttpRequest nesnesi, web sunucusuna güncellenmiş sayfa verileri için bir istek gönderir, sunucu isteği işler, sunucu tarafında bir yanıt oluşturulur ve tarayıcıya geri gönderilir, daha sonra yanıtı işlemek ve ekranda görüntülemek için JavaScript’i kullanır.
Özetlemek gerekirse: JavaScript, güncelleme sürecini otomatikleştirir, güncellenmiş içerik talebi, evrensel olarak anlaşılabilir hale getirmek için XML olarak biçimlendirilir ve JavaScript, sayfayı görüntüleyen kullanıcı için ilgili içeriği yenilemek için yeniden devreye girer. AJAX, kullanılan web sitelerini ve uygulamaları kullanıcılar için daha hızlı ve daha duyarlı hale getirir.