AJAX’ın açılımı “Asynchronous JavaScript and XML” olarak ifade edilmekte olup, 2005 yılında kullanıcı deneyimi tasarımcısı Jesse James Garrett tarafından geliştirilmiş olan bir tekniktir. Teknoloji dünyasında yanılgıya neden olan AJAX, bir yazılım dili ya da sanal kütüphane değil, yöntemdir. Bilinenin aksine AJAX yöntemi ile kod yazmak mümkün değildir. AJAX, JavaScript ve XML dillerini zemin alarak, tarayıcılarda yer alan XHR nesnesi ile birlikte kullanılmaktadır. AJAX’ın Türkçe karşılığını, eşzamansız XML olarak ifade etmek mümkündür. 

AJAX’ın çalışma sistematiği ise şöyledir;

  • AJAX, sunucuya gönderilen isteği arka plânda işler 
  • Web uygulamalarının eşzamansız olarak çalışmasına destek olur

AJAX özetle, Web geliştirme tekniklerine verilen isimdir. AJAX’ı daha iyi anlamak için, içerisinde yer alan bileşenleri tanımak gerekmektedir. 

  • JavaScript: Oldukça yaygın olarak kullanılan bir kodlama dilidir. Tüm diğer fonksiyonlarına ek olarak, Web sitelerinin dinamik (Hareketli) içeriklerini yönetir ve etkileşime izin verir.
  • XML: Açılımı “eXtensible Markup Language” olan genişletilebilir özellikte işaretleme dilidir.
  • XHR:XmlHttpRequest” olarak ifade edilen, bir uygulama programlama arayüzüdür. 
  • AJAX çalışma prensiplerini bu araçları kullanarak gerçekleştirir.

AJAX Nasıl Çalışır?

AJAX’ın nasıl kullanıldığına dair bilgilere geçmeden önce, nasıl çalıştığını anlamak yararlı olacaktır. Örneğin; arama motorlarının kelime tamamlama özellikleri mevcuttur. Arama sorgusuna bir kelime yazılmaya başlandığı anda, otomatik olarak tamamlanmasına yardım etmektedir. Mevcut arama sayfası aynı kalsa da, arama kelimesi değişikliğe uğramaktadır. AJAX’ta aynı mantıkla, veri değişimi ve sunuş katmanlarının, birbirlerine ait fonksiyonlarına müdahale etmeden eş zamanlı olarak, aynı anda çalışmasına imkan tanır. En yalın anlatımıyla AJAX, aynı anda birçok görevin yerine getirilmesini sağlayan bir yöntemdir. 

AJAX çalışma sistematiği ise aşağıdaki gibidir;

  • Web sayfasında, yeni bir sayfa açılır ya da bir sekme tıklanır 
  • JavaScript bir XMLHttpRequest nesnesi oluşturur
  • Oluşturulan XMLHttpRequest nesnesi sunucuya istek yollar
  • Sunucu gelen isteği işler ve Web sayfasına geri yanıt olarak iletir
  • JavaScript gelen yanıtı okur
  • JavaScript aracılığıyla sayfanın güncellenme işlemi gerçekleştirilmiş olur

AJAX yönteminin temel zeminini XMLHttpRequest nesnesi oluşturmaktadır. Modern teknoloji içerisinde yer alan tüm tarayıcılar XMLHttpRequest nesnesini desteklemektedir. Sunucu ile veri alışverişi XMLHttpRequest nesnesi ile gerçekleştirilir. Nesnenin bu işlevselliği sayesinde, bir Web sayfası yeniden yüklenmeden, sadece belli bölümlerinin güncellenmesi mümkün olmaktadır. Chrome, Firefox, Safari gibi bilinen pek çok tarayıcıda yerleşik olarak konumlandırılmış bir XMLHttpRequest nesnesi yer almaktadır. 

AJAX’ın Kullandığı Teknolojiler Nelerdir?

İnternet üzerinde yer alan Web sitelerinin hızını arttırmak ve kullanıcı deneyimini iyileştirmek için AJAX’dan yararlanılmaktadır. Google haritalar, canlı bildirim Pop-Up’ları, sohbet odaları gibi hareketli nesneler Web siteleri içerisinde barındırıyorsa, AJAX tüm bu uygulamaların sorunsuz çalışmasını sağlayacak ve üst düzeyde bir hizmet sunacaktır. AJAX tekniği, pek çok farklı platformda en iyi şekilde çalışmasını destekleyen geliştirilmiş bir kod kütüphanesine ve Framework’e (Yazılım çerçevesi) sahiptir. AJAX teknikleri yazılım mimarilerinde, işletim sistemlerinde, Web tarayıcılarında güvenle kullanılmaktadır. 

AJAX’ın kullanıldığı teknolojiler ise aşağıdaki şekilde sıralanmaktadır;

  • HTML ve CSS lerde yer alan verilerin biçimlendirilmesinde ve görüntünün değişikliğe uğratılmasında
  • Verilerin görüntülenmesi ve etkileşimli bir şekilde çalışması için JavaScript ve diğer script dilleri aracılığıyla erişilen DOM (Document Object Model) belge nesnesi modellerinin oluşturulmasında
  • Tarayıcılar ve sunucular arasında oluşan bilgi aktarımlarında kullanılan XMLHttpRequest işlemlerinin yürütülmesinde
  • Veri iletişiminde dinamik öğelerin yaratılmasında

Yukarıda belirtilmiş olan teknolojiler AJAX’ın birlikte çalıştığı alanları ifade etmektedir. 

AJAX İle Kullanılan Popüler Uygulamalar

AJAX’ın kullanımında yer alan temel amaç, Web sayfasını yeniden yüklemeden birtakım işlemlerin gerçekleşmesini sağlamaktır. “AJAX Nasıl Kullanılır?” sorusuna da yanıt verecek olan, AJAX yönteminin kullanmış olduğu teknolojilerin gündelik yaşamda karşımıza çıkan örnekleri ise şöyledir;

  • Puanlama ve Oylama Sistemlerinde AJAX Kullanımı: Online alışveriş sitelerinde karşımıza çıkan ürün değerlendirme ve puan verme işlemleri, oylama seçenekleri sunan forumların yaratılmasında AJAX kullanılmaktadır. Puanlama ve oylama işlemleri yapılırken, site arka planda hesaplamalarını gerçekleştirecek ancak ilgili sayfa sabit kalacaktır. İşte bu AJAX yönteminde, çalışma prensibine verilecek en güzel örneklerden biridir.
  • Sohbet Odalarında AJAX Kullanımı: Günümüz modern Web sitelerinde sıkça karşılaşılan tasarım detaylarından biri de, işletmeye ait sitenin canlı müşteri destek özelliğidir. Sitenin diğer sayfalarını gezerken bile canlı sohbet odası sabit kalan müşteri destek ünitesi ile konuşmalar kesilmeden farkı işlemler gerçekleştirmek mümkün olmaktadır. AJAX sayesinde mesajlaşma sürdüğünde, sohbet sayfası kapanmayacak ya da yenilenmeyecektir.
  • Twitter Gündem Bildirimlerinde AJAX Kullanımı: Periyodik olarak gerçekleştirilen Twitter güncellemeleri için de AJAX kullanımı tercih edilmiştir. Spesifik konularda her yeni tweet sonrası, Twitter ana sayfası sabit kalacak ancak rakamlar yenilenecektir.

AJAX’ın Avantajları Nelerdir?

Geliştirilmiş ve zenginleştirilmiş kullanıcı deneyimleri, etkileşim özellikli bir Web uygulaması teknolojisi olan AJAX ile mümkün oluyor. AJAX teknolojisi günümüz internet çağında pek çok alanda yer almaktadır. Kullanım alanlarının genişliği dikkate alındığında AJAX’ın avantajları ise aşağıdaki şekilde sıralanabilir;

  • Web sayfaları için oldukça önemli olan, sunucu ile az miktarlarda veri alışverişi yaparak güncellemelerin gerçekleştirilmesi AJAX ile sağlanmaktadır. Web sayfalarının tamamının yeniden yükleme işlemine alınmasına gerek duymadan, güncelleme yapılması bu şekilde sağlanır. AJAX ile daha hızlı gerçekleştirilen bu işlemler, tarayıcıların performanslarının artmasını destekler.
  • AJAX, sunucularla iletişim kurma işlem adımlarında JavaScript kullanır, veri alışverişlerinde ise komut dosyalarından yararlanır. Bu işlem akışı, hızın ve kapasitenin artmasına katkıda bulunmaktadır. AJAX desteği ile her iki alanın da yükü azaltılmış olmaktadır.
  • PHP, J2EE, ASP gibi yaygın olarak kullanılan programlama dilleri AJAX ile uyumlu bir şekilde çalışmaktadır.
  • Explorer 5 ve üzeri sürümleri, Opera 7.6 ve üzeri, Apple Safari, Google gibi birçok yüksek kapasiteli tarayıcı, AJAX yöntemlerini desteklemektedir.
  • AJAX kolay öğrenilebilir ve uygulanabilir teknolojiler arasında yer almaktadır. Temel JavaScript bilgisi ile birçok işlem gerçekleştirilmektedir.
  • Eşzamansız veri işleme adımları, AJAX uygulamalarında kullanılan XmlHttpRequest programlama arayüzü ile basitçe yapılmaktadır. Bu yöntem ile istekler verimli bir şekilde işlenirken, dinamik içeriklerin yüklenme performansları da artmaktadır.

Tüm bu avantajların yanında AJAX kullanımında dikkat edilmesi gereken birkaç nokta da yer alıyor. Bunlardan biri, AJAX’ı desteklemeyen tarayıcılarda uygulama hatası oluşmasıdır. Böyle bir sorunla karşılaşmamak için, AJAX’ın uyumlu olduğu tarayıcılarda işlem gerçekleştirmek, daha sağlıklı ve avantajlı olacaktır.

AJAX Kavramları Hakkında En Çok Sorulan Sorular

AJAX çalışma prensibi basit temellere dayanıyor olsa da, kullanıcılar farklı nesneleri bir araya getirerek konuyla ilgili sorgulamalar yapabilmektedir. AJAX konusunda sorulan soruların yanıtlarını ve kavramların anlamlarını yazımızın devamında bulabilirsiniz.

AJAX Nedir? 

Bu sorguda anlaşıldığı üzere AJAX ve PHP bağlantısı merak edilmektedir. AJAX,  PHP (Hypertext Preprocessor) programlama dili ile birlikte kullanılma imkanı sunmaktadır. PHP altyapısı ile oluşturulan Web sayfalarında verilerin eklenmesi, listelenmesi, güncellemeler, verilerin silinmesi gibi işlemler AJAX yöntemi ile gerçekleştirilebilmektedir.

AJAX Hatası Nedir? 

AJAX kullanıcıları için mükemmel işlevler sunsa da her teknoloji ürünü gibi bazı durumlarda hatalarla karşılaşılır. En sık karşılaşılan AJAX hatası ise ileri / geri tuşları ile ortaya çıkıyor. Web sayfaları dinamik özellikli olarak oluşturdukları için ileri / geri işlemlerinde, tarayıcılar dinamik özellikleri hafızalarında tutamayabilir. Bu hatayı çözümlemenin en kolay yolu, yazılıma ek kodlar eklemek olarak belirtiliyor.

AJAX ASYNC Nedir? 

AJAX’ın açılımı “Asynchronous JavaScript And XML” eşzamanlı olmadan çalışan JavaScript ve XML işaretleme dilini ifade etmektedir. “Asynchronous” içerisinde yer alan “Async” kısaltması ise AJAX yöntemi içerisinde işleyen senkronizasyonu anlatmaktadır. 

AJAX Call Nedir?

 AJAX çalışma sistematiğinde JavaScript bir çağrı (Call) yaratır. Bu çağrı da işlem sürecinde XMLHttpRequest arayüzünü aktifleştirir. AJAX Call işleyişte yer alan adımlardan birini belirtmektedir.

AJAX Modeli Nedir? 

AJAX görev tanımı, Web geliştirme tekniği olarak ifade edilmektedir. AJAX’ın kullanıldığı dinamik görüntülerin veri etkileşimlerinde (Document Object Model) doküman nesne modeli kullanılmaktadır. Bu da AJAX’ın kullanıldığı teknolojilerden biri olmaktadır.

AJAX Processdata Nedir? 

AJAX tekniği ile oluşturulan uygulamalarda ya da Web sitelerinde, görsel yükleme işlemlerinde “Processdata”, “False” gibi parametreler kullanılmaktadır. AJAX Processdata bu entegrasyonlu işlemleri ifade etmektedir.

Javascript AJAX Nedir? 

AJAX, JavaScript dilini zemin alarak işleyen bir yöntemdir. Yaygın olarak tarayıcılar içerisinde kullanılan JavaScript, AJAX çalışma prensiplerinde yer alan öğelerden biri olma özelliği taşımaktadır.

JQuery AJAX Nedir? 

John Resig tarafından geliştirilmiş olan JQuery, 2006 yılından beri teknoloji dünyasında kullanılan, açık kaynaklı bir JavaScript kütüphanesi olarak ifade edilmektedir. AJAX yöntemleri ile oluşturulan uygulamalarda yer almaktadır.

AJAX Cache Nedir? 

İnternet üzerinde yer alan tarayıcılar Cache’leri (Önbellek) hızlandırma işlemlerinde kullanmaktadır. JQuery sürümlerinde, AJAX tarayıcı ile önbellek arasında işlemleri gerektiğinde durdurmak için kullanılan bir yöntem olmaktadır.