Serkan Ayyıldız

Meraklı bir yazılım uzmanı...

Ajax Nedir ve Kullanım Amacı

Web yazılım meraklıların yeni bir kategoriden merhabalar :)

İlk Ajax makalemizde bugün Ajax nedir ve ne değildir öğrendikten sonra ilerleyen makalelerimizde örneklerle
öğrenmeye devam edeceğiz..

Ajax'ın açılımı "Asynchronous JavaScript and XML" olup Türkçe'si Eşzamansız (Asenkron) JavaScript ve XML'dir diyebiliriz ancak bu cümle çok fazla şey ifade etmiyor maalesef,bu yüzden arkanıza yaslanın ve okumaya
devam edin.

Ajax bir web yazılım dili değil aksine JavaScript'in bir uzantısıdır,bunu tıpkı JQuery'ye benzetebilirsiniz.Ajax XMLHttpRequest adlı teknik ile bir web sayfasının görünürde herhangi bir değişikliğe uğratmadan (ASP.Net
Postback gibi) arka planda sunucu ve istemci (server-client) bilgisayar arasında veri trafiğini çalıştırır.

Temel olarak Ajax'ın ortaya çıkmasının asıl nedeni her geçen gün web sayfalarının içeriğindeki resim ve video
gibi görsellerin artarak internet altyapısını yoğun kullanım sonucu tıkanıkları engellemektir.

Bir düşünün bir web sayfasının açılış boyutu 1 MegaByte olsun ve aynı sitenin farklı sayfasına gittiğinizde
önbellekleme tekniğini yoksayarsak sürekli internet kotanızdan 1 MegaByte harcamanız oldukça büyük bir
israf olacaktır ancak Ajax ile web sayfasından ayrılmadan aynı sayfa içerisinde sayfayı yeniden yüklemeden
sunucu ile iletişime geçilecek ve bu sayede yalnızca gerektiği kadar veri transferi gerçekleşecektir.

Aynı zamanda web sayfası postback denilen sayfa yenilemeye benzer bir hareket olmadığı için içeriği yoğun
dikey sayfalarda kullanıcı sayfayı yeniden aşağı kaydırmak (scroll down) zorunda kalmayacak ve ortaya
oldukça güzel bir kullanıcı deneyimi çıkacaktır.

Ajax'ın amacını ve ne işe yaradığını öğrendikten sonra teknik kısma geri dönüyoruz...

Ajax bir yazılım dili olmadığı için temelde JavaScript bilmeniz yeterlidir,aynı zamanda sabit bir Ajax syntax'ı
olmadığı için çok farklı şekillerde Ajax kodları yazabilmeniz mümkündür.Kişisel olarak kullanımı en kolay ve en
esnek olan JQuery Ajax syntax'ını tercih ediyorum.Böylece yoğun karmaşık verileri çekerken çok fazla kod
yazmak zorun kalmadığım için bir sonraki Ajax makalemizi JQuery tabanında sürdüreceğiz.

ASP.Net yazılım uzmanları için Ajax daha çok Toolbox penceresinde hazır bileşen (component) olarak gelen
Ajax olarak bilinir,evet orada da Ajax tekniği kullanılmaktadır ancak gerçek anlamda en esnek sunucu-istemci
iletişimi elle yazılan JavaScript Ajax tekniğidir.

Şimdi gelelim Ajax nasıl çalışır..

Ajax sunucu ve istemci arasında veri iletişimi gerçekleştirir:

ajax-cagri

Gerçekleştirilen bu veri çağrısı sonucunda sunucudan gelen istek istemci bilgisayarın tarayıcısında
(browser-chrome gibi) işlenerek sonuç olarak istenildiği giib kullanılmaktadır.

Ayrıca tüm web tarayıcılarında çalışabildiği için CSS gibi tarayıcıya göre kod yazma uğraşısı gerektirmez.Yani
bir web tarayıcı JavaScript çalıştırıyorsa hayli hayli Ajax'ı destekliyor demektir.

Ajax için en güzel örnek Facebook'un anlık mesajlaşma sistemini, Twitter'ın sayfanın en sonuna gelindiğinde
önceki tweetleri yükleme olayı ve kendi blogumdaki naçizane makaleyi beğenme,beğenmeme yorum yapma
kısımlarını örnek gösterebilirim. :)

Bir diğer bilmemiz gereken nokta ise Ajax web platformunda hemen hemen bütün web yazılım dilleriyle uyumlu çalışabilmektedir;
ister ASP.Net ister PHP isterseniz JSP ile çalışın JavaScript destekli her HTML ve türevleri içerisinde rahatlıkla
Ajax çağrılarını gerçekleştirebilirsiniz.

Ajax'tan hemen sonra gelen teknik olan JSON (JavaScript Object Notation - JavaScript Nesne İşaretleme) ile
sunucu tarafındaki verileri tıpkı XML yapısına benzeyen ancak daha hızlı ve kolay bir şekilde çekebilirsiniz.Tabi
JSON konusuna yeniden değineceğiz.

Ajax ile ilgili bilmemiz gerekenler başlangıç olarak bu kadar yeterli diye umuyorum,bir sonraki Ajax makalemizde
Ajax'ın bileşenlerini ve hemen ardından örnek uygulama ile sunucu tarafından verileri arka planda çekerek
işlemeyi öğreneceğiz..

Şimdilik sonraki makalemizde görüşünceye dek hoşçakalın esen kalın :)



2 Yorum:

  1. bbcc
    10/9/2014

    Verdiğiniz Bilgiler Çok Net ve Analaşılır. Paylaşımlarınız için Teşekkürler.

  2. coderJs
    8/12/2014

    yazılarınız çok açıklayıcı ,şuan Knockoutjs kullanarak bir uygulama yazmaya çalışıyorum ve ajax ile ilgili diğer yazılarınızı dörtgözle bekliyorum..

Bir yorum bırak E-posta adresiniz yayınlanmayacaktır.

Menu