Kendi Ajax çatımızı/kütüphanemizi nasıl yaratırız?
Programcılar ve yazılım geliştiriciler tarafından yıllardır üvey evlat muamelesi gören javascript‘in son zamanlardaki inanılmaz yükselişini hepimiz yakından takip ediyoruz. Artık hepimiz harıl harıl ajax öğreniyoruz çünkü ajax ve arkasından gelecek benzer teknolojilerin önümüzdeki 5-10 yıllık geleceğe hükmedeceği apaçık ortada. Ben de bunlardan biriyim. Neredeyse son 2 ayımı bu işe adamış durumdayım. Ve emin olun daha da devam edecek. Keşke ajax kendi içinde tek bir teknolojiyi barındırsa da hemen yalasak yutsak. Ama öyle değil! ( İyiki de değil )
Javascript öyle yetenekli bir dil haline gelmiş ki gözlerime inanamadım. Bunu daha önce farkedemeyip ,javascripti sadece açılır menü veya form validation yapmak için kullanmak dışında daha ileri seviyede neden kullanmadım!? Kızıyorum kendime…
İnternette küçük bir araştırmayla en az 5-6 tane javascript veya ajax çatısına rastlamanız mümkün. Bu kütüphanelerin hepsini inceledim ve javascripti ileri seviyede nasıl kullandıklarını öğrenmeye çalıştım. Zaten kendi kütüphanemizi yazmak için yapılması gereken ilk şey Javascript dilindeki yazımsal yenilikleri öğrenmek olacaktır. Çünkü alet çantamızdaki en önemli araç şu an için o. Ardından Döküman Nesne Modeli’nin işleyişini öğrenmek lazım. Ve elimizdeki bu iki aracı (Javascript ve DOM) bir arada kullanabilmeyi öğrenmek için bol bol pratik yapmak ve bilgimizi pekiştirmek gerekecek. Bu arada sakın acele edeyim demeyin. Bu DOM var ya, çok sorun çıkartacak başınıza. Browerler arası uyuşmazlık nedeniyle bir sürü Dom özelliğinde çift dikiş hatta bazen 3 dikiş atmanız gerekecek. En çok kullanılan browserler olarak IE, Firefox, Opera ve Safari’yi kabul ederek tüm çalışmalarımızı bunlara göre genişletmeniz sizin için iyi olacaktır.
Javascript’i ve Dom’u bitirdiyseniz işte size XMLHttpRequest nesnesi! Yeni nesil browserlerin hepsi tarafından desteklenen bu nesne sayesinde ajax kardeşimiz hayat bulmaktadır. Bu nesne sayesinde sayfanın yeniden yüklenmesine gerek kalmadan uzaktaki server ile irtibata geçiyor ve ilgili işlemleri yaptırabiliyoruz. Yaptığımız bu işlemler; bize bir sonuç döndüren türde işlemler olabileceği gibi hiç bir veri döndürmeyen ve sadece veritabanından veri silme gibi işlemlerde olabiliyor. ( Bu noktayı lütfen aklınızda tutun. Birazdan ajax yöntemindeki son halkayı da sizlere açıklayacağım )
Varsayalım ki biz veritabanına bir sorgu yolladık ve bu sorgunun sonucunu da ,sayfa yeniden yüklenmeden, sayfanın istediğimiz herhangi bir yerinde göstermek istedik. O zaman ne yapacağız?
İşte burada devreye XML veya Json giriyor. Serverde yapılan işlemler sonrasında geriye döndürülen verinin ya Xml ya Json ya da normal metin formatında olması gerekiyor. Dönen veri XMLHttpRequest nesnesinin responseText veya responseXml özelliğinde tutuluyor ve bizim onu alıp sayfanın ilgili yerlerine yazdırmamızı bekliyor.
Peki bu yazdırma işlemini kim yapıyor? Tabi ki javascript ve Dom. Javascripti kullanarak Dom ile hiyerarşiye oturtulmuş tüm nesne ve elemanlara ulaşıp içeriklerinde oynama yapabiliriz. Ve tüm bunlar yapılırken sayfamızın kılını kıpırdatmasına bile gerek yoktur.
Buraya kadar anlattıklarımızı özetlersek. Kendimize ait bir ajax/javascript kütüphanesi/çatısı yazmak istiyorsak aşağıda sıraladığım teknolojilerin hepsine hakim olmalıyız:
- Javascript
- Dom
- XMLHttpRequest nesnesi
- Xml
- Json
Bunların her biri kendi içinde bir derya. Bu nedenle sakın fazla düşünüp treni kaçırmayın. Hemen başlayın birinci seçenekten.
Şansınız bol olsun ;)

