AJAX Nedir?
AJAX terimi ilk kez Jesse James Garrett tarafından 18 Şubat 2005 tarihinde bir makalede kullanılmıştır. AJAX, “Asynchronous JavaScript and XML”’in kısaltmasıdır. AJAX, sayfayı yeniden yüklemeden sunucuyla etkileşime girmenizi sağlayan bir teknolojidir. Örneğin, herhangi bir veri alın veya iletin. Her seferinde sayfanın tamamını yenilemek gerekmediğinden, sitede çalışma hızı ve kullanım kolaylığını arttırmaya faydalıdır. Bu terim oldukça karmaşık görünüyor değil mi? Merak etmeyin, biraz daha derinlemesine incelediğimizde AJAX nedir, nasıl çalışır gibi sorularınızın tüm cevaplarını almış olacaksınız.
AJAX bir programlama dili mi?
AJAX, bir programlama dili ya da bir teknoloji değildir. Bu, sayfayı yeniden yüklemeden verileri sunucuya aktaran bir JavaScript programlama dili yöntemidir. AJAX, web sunucusu yazılımından bağımsız bir web tarayıcı teknolojisidir. Pogramlama dillerini öğretmeyi amaçlayan ücretsiz bir eğitim sitesi olan W3schools, AJAX hakkında aşağıdakileri yazmıştır.
AJAX bir geliştiricinin hayalidir, çünkü şunları yapabilirsiniz:
- Bir web sayfası yüklendikten sonra web sunucusundaki verileri okuma
- Sayfayı yeniden yüklemeden bir web sayfasını güncelleme
- Web sunucusuna veri gönderme – arka planda
Temel Olarak AJAX
Şuanda “AJAX Nedir” makalemizi okurken bir tarayıcı (chrome, opera, firefox…) kullanmak zorundasınız. Hepimiz internette gezmek için bir tarayıcı kullanıyoruz ve bu tarayıcılar sitelerin barındığı sunucular ile durmadan veri alışverişi içerisindeler.
Web siteler sunucuya dağıtılmış basit belgelerden oluşur. Bu belgeler HTML, PHP gibi belgeleri içerir.
Bir web sitesine girdiğimizde, sitenin görünmesi için tarayıcının girmek istediğiniz sitenin sunucusu ile erişime geçmesi gerekir. Bu erişim sağlandığında, sunucu istenen belgeyi (sayfayı) bulur ve tarayıcıya aktarır. Böylece girdiğiniz web sitesi tarayıcınızda görünecektir.
Doğal olarak, sunucuya yapılan her erişim isteği (çağrı) sayfanın yeniden yüklenmesine neden olur. Bu nedenle AJAX sayfayı aynı web sunucusuna sürekli olarak yeniden yüklemekten kaçınmaya yardımcı olur. AJAX’ı birkaç örnek ile daha anlaşılır duruma getirelim.
AJAX Örnekleri
AJAX ile, gönder düğmesine bastığınızda, JavaScript sunucuya bir istekte bulunur, sonuçları yorumlar ve geçerli ekranı günceller.
Geleneksel web uygulamaları senkron istekleri kullanarak sunucudan bilgi iletir. Bu, bir formu doldurduğunuz, gönder’i tıkladığınız ve sunucudan yeni bilgiler içeren yeni bir sayfaya yönlendirildiğiniz anlamına gelir.
Herhangi bir çevrimiçi sohbet veya geri bildirim formu AJAX teknolojisinin açık bir örneğidir. Örneğin, bir sosyal ağda, herhangi bir kullanıcıyla, sayfayı yeniden yükleyerek iletişimin kesintiye uğramadığı bir diyalog sistemi vardır. Başka bir kişiye bir şey yazıp gönder’i tıkladığınızda, sayfayı yeniden yüklemeden işlemlerinizin sonucunu hemen görürsünüz. Bu AJAX teknolojisidir. Tarayıcı sunucuya bir istek gönderir, sunucu gerekli verileri verir, tarayıcı sayfadaki içeriğin yalnızca bir kısmını “günceller”.
WordPress’te AJAX, sayfayı yeniden yüklemeden bir yorumu onaylayabileceğiniz veya silebileceğiniz yorumlar sayfasında görülebilir.
AJAX Avantajları
AJAX’ın avantajlarından bahsedecek olursak eğer kısaca şunları söyleyebiliriz:
- Uygun bir web arayüzü oluşturabilme
- Aktif kullanıcı etkileşimi
- Tam yerine kısmi sayfa yükleme
- Kullanım kolaylığı
AJAX, web uygulamalarıyla çalışırken veri miktarı önemli ölçüde azalır. Bunun nedeni, tüm sayfayı yüklemenin gerekli olmamasıdır, sadece değiştirilen parçayı veya veri veri kümesini almak yeterlidir. Bundan sonra, JavaScript sayfanın içeriğini tarayıcıda değiştirir.
AJAX’ın doğru kullanımı sunucudaki yükü önemli ölçüde azaltabilir. Örneğin, kalıcı web sitesi öğeleri oluşturmak için şablonu kullanabilirsiniz: logo, menü, vb. Ayrıca, belirli bir isteği karşılamak için sayfanın tamamını yenilemenize gerek yoktur. Yalnızca içerik kısmı yüklendiğinden, kullanıcı eylemlerinin sonucunu çok daha hızlı görür.
AJAX kullanımı sadece formlarla sınırlı değildir. Örneğin, Google’a bir arama sorgusu girdiğinizde, her harf veya kelimeden sonra, sorgu için çeşitli seçenekler sunulur. Bu, sitelerle çalışma rahatlığını büyük ölçüde artırır.