Ajax

Ajax Gelecek Vaat Ediyor mu ?

Her 5-10 yılda bir yeni bir akımın ortaya çıktığı yazılım dünyasında, AJAX veya WEB2.0 kavramı önümüzdeki 5-10 yılın yeni akımı olacak gibi görünüyor. Internet hızının artması, web üzerinden sağlanan hizmetlerin sayısında büyük artış sağlamıştır, yakın gelecekte birçok yazılım ihtiyacının internet üzerinden sağlanacağını tahmin etmek çok zor olmasa gerek. Bu servislerin geliştirilmesinde AJAX bir prototip olacaktır çünkü klasik web üzerinde uygulama geliştirme yöntemleri yetersiz kalmaktadır.

Ajax Gerçekten ihtiyaç mı yoksa bir moda mı?

Klasik web sayfaları çok fazla data akışı gerektirir. Hepimiz gayet iyi biliriz ki bir web sitesinde ne kadar çok animasyon,resim, yazı aynı anda bir sayfada yer alırsa o sayfa o kadar yavaş yüklenir. Bir de böyle bir sayfa, her küçük değişiklik için yeniden yüklenmesi gerekirse kullanıcı için hiç konforlu olmayan bir durum ortaya çıkar. Kullanıcı dışında da aynı sayfayı defalarca üretmek zorunda kalan sunucular da performansını yitirmeye başlayacaktır. Zaten bu sıkıntılar nedeni ile AJAX ortaya çıkmış, ve bu sıkıntıları ortadan kaldırabilmiş.

Trafiği çok yoğun olmayan ve genelde statik olan bir web sitesinde AJAX kullanmak çok anlamlı olmayabilir ama tersi bir durum için büyük önem taşır.

Eğer web sitenizde herhangi bir düğmeye, linke tıklandığında içeriğin herhangi bir bölümünü sayfayı refresh etmeden, sunucudan aldığınız bilgi ile doldurabiliyorsanız AJAX kullananlar arasına hoş geldiniz. AJAX uygulamak bu kadar basitken geliştirlen toolkit ve library'lerin büyüklüğü de neyin nesi denebilir.

Önceleri sadece Javascript library olarak ortaya çıkan birçok girişim, günün populer akımında yer bulabilmek için AJAX özellikleri ekleyerek, AJAX Framework ismini almışlardır.
AJAX, ön yüze yönelik bir durum olduğu için önyüz görsellerini zenginleştiren ek özellikler bulunduran toolkitler daha çok ilgi görmüştür. Mesela hazır TAB menü, Treeview menü ve window içeren AJAX Toolkitler geliştiriciler üzerinde büyük ilgi uyandırmıştır. Bunlar önceden de var olan yapılardı ancak AJAX ile daha kullanışlı olmuşlardır. WEB geliştirici istiyor ki hem bir AJAX toolkit kullanayım hem de AJAX'ı verimli kullanabileceğim hazır görselleri de içeren bir toolkit kullanayım. Geliştiriciler, yıllardır uygulama geliştirme anlamında yetersiz bulunan WEB ortamı yüzünden artık bu tip Javascript librarylerin desteği ile geçen fukara yılların acısını çıkarmaya çalışmaktadır.

AJAX web yazılımı geliştirmesine yeni bir boyut katan bir gelişmedir. Bunun için hemen hemen herkesin ilgisini çekmektedir. AJAX kullanılarak birçok uygulama yapılmıştır. Bunların başında google tarafından geliştirilen gmail gelmektedir. Uygulamanın getirdiği kullanışlılık birçok geliştiriciyi AJAX kullanmaya itmiştir.

Fakat temelde genel olarak bir hata yapılmaktadır.  PHP programcıları hemen hazır kütüphaneleri kullanmaya yönelmişlerdir. Hali hazırda varolan kütüphanelerin birçoğunun daha ilk aşamalarda olması, kararlı sürümlerinin olmaması ve hatalar barındırması nedeniyle birçok programcı bu kütüphanleri uygularken sıkıntı çekmiş ve başarılı olamamıştır. Bu durum genel olarak AJAX konusunda bir güvensizliğe sebep olmuştur. Daha hazır olmadığı kanısına varılmasına sebep olmuştur.

AJAX sunucuda çalışacak betiğin sayfa yenilenmeden javascriptle tetiklenmesinden ibarettir.Yani aslında yeni olan araçlar değil araçların kullanma şeklidir. Bu tetiklemeyi tarayıcı tarafında Javascript ile yapabiliyoruz.


Mevcut tool ve geliştirme ortamları kullanılarak tercih edilebilecek 3 farklı programlama yöntemi ortaya çıkıyor. Bunlar Java, Javascript ve XML programlama olarak belirtilebilir.

Javascript Programlama: Burada en büyük sıkıntı diğer populer dillerde olduğu gibi gelişmiş editor, compiler ve debuggerların bulunmaması. Bazı çalışmalar var, benim en çok dikkatimi çekenler, bir open source proje olan Aptana ile IBM'in alpha work çalışması olan ATF. Her ikisi de Eclipse üzerinde geliştirilmiş. Ayrıca EchoStudio gibi projeye özel ücretli uygulama geliştirme ortamlarına da rastlamak mümkün.

XML Programlama: Burada editor, compiler ve debugger sıkıntısı daha büyük olmakla birlikte daha az efor sarfedip daha az programlama bilgisi ile daha kolay web uygulamaları oluşturma hedeflenmiş.

Java Programlama: Bana en mantıklı gelen bu yöntem ile mevcut java uygulama geliştirme ortamları kullanılabilmekte, javascript ve XML ile yapılan geliştirmedeki handikapları ortadan kaldırmaktadır. Ayrıca javascript dünyasında meydana gelebilecek değişikliklerin entegrasyonunda bir interface oluşmasını sağlamıştır.

Bu yöntemin iki farklı uygulamasını görmek mümkün:

  • Bir tanesi Google'ın yaptığı gibi java ile geliştirilen AJAX uygulamasını kendi compiler'ı ile javascript ve HTML'e dönüştürülmesi. Bu yöntemin avantajı, uygulamanın server bağımsız olmasını sağlamasıdır, java ile geliştirdiğiniz uygulamayı çalıştırmak için bir java web server'ına ihtiyaç duymazsanız.
  • Diğeri ise java ile geliştirilen uygulama bir java web server üzerinde çalıştırılması esasına dayanır. Server'e istekler geldikçe server tarafında javascript ve HTML sayfalar üretilir ve client'a gönderilir.

 

Artık günümüz web programcılığı daha fazla işlemin daha kısa sürede yapılmasını gerektiriyor. Yine aynı şekilde artan kullanıcı ihtiyaçları ve beklentileri web’in daha interaktif ve hızlı cevap verebilir olmasını gerektirmektedir. AJAX yani Asenkron Javascript ve XML de bu ihtiyaçtan doğmuş bir çözümdür. AJAX farklı teknolojileri birleştiren bir tasarım desenidir.

AJAX kullanarak uygulama geliştirilirken şu bileşenlerden faydalanılmaktadır:
HTML / CSS
DOM / Javascript
XML / XMLHttpRequest

Klasik bir istemci-sunucu ( client-server) uygulamasında kullanıcı tarafından yapılan her işlem sunucuya HTTP Request olarak gönderilir , yorumlanır ve veriler işletildikten sonra sonuçlar istemciye gönderilir. Bu da çok büyük bir ağ trafiğine neden olur. Örneğin: kullanıcınız bir email adresi girip , doldurduğu formu sunucuya gönderdi fakat email adresi istenilen formatta değil. Bundan sonra sunucudan tekrar form gönderilip kullanıcı tarafından düzletilir ve tekrar sunucuya yeni haliyle form gider. Bu da sunucu ve istemci arasındanki trafiğin büyümesine neden olur.
AJAX kullanıldığında ise istekler HTTP REQUEST yerine XMLHTTP REQUEST olarak gönderilir. Burada sunucu ve istemci arasında taşınan veriler  sıkıştırılmış  XML formatındadır. Bu sıkıştırılmış yapı istemci tarafında açılır böylece sunucu ve istemci arasındaki bant genişliği boş yere işgal edilmemiş olur.
AJAX ile sağlanan en büyük özellik de PARÇALI GÜNCELLEME’ dir. Bu sayade bütün bir sayfanın istemci ile sunucu arasında gidip gelmesiyle doğan ağ trafiğinin önüne geçilmiş olur.Önceden Meta taglerine refresh yazarak bu işlemi yapardık fakat bütün sayfa güncellenirdi ve kullanıcı bomboş bir sayfaya ile başbaşa kalırdı.

AJAX teknolojisiyle ilgili bence en önemli nokta AJAX’ın formlar ile etkileşimi düzenlemek için çok faydalı bir araç olmasına rağmen tek başına uygulama geliştirmeye elverişli olmamasıdır. Fakat akıllıca kullanıldığında uygulamalara hem görsellik hem de performans adına uygulamalara pek çok şey katabilir.

Ayrıca AJAX ile Amerika yeniden keşfedilmemiştir. Yıllardır kullanılan JAVASCRIPT ve XML birleştirilerek yeni bir uygulama deseni oluşturulmuştur. Bu düşünce önce JSP geliştiricileri tarafından ortaya atılmış daha sonra da Microsoft tarafından desteklenmiştir. Önceleri Microsoft bunu ATLAS olarak adlandırmış daha sonra da ASP.NET AJAX olarak desteğini sürdürmüştür. Burada Javascript denilince farklı tarayıcılarda farklı sonuçların ortaya çıkması gibi bir durum söz konusudur. Maalesef internet tarayıcılarımızı üreten firmalar W3C standartalarına sağdık kalmamaktalar ve bu da Javascriptlerin farklı  sonuçlar üretmesine neden olmaktadır. Microsoft ASP.NET AJAX mimarisinin içine istemciler için “Browser Compatibility” kütüphanesini de dahil etmiştir. AJAX ile ilgili olarak arama motorlarının siteyi indekslemesi sırasında da sorunlara neden olduğu haberleri ortalıkta dolaşmaktadır.

Artık Web 2.0 ile siteler kullanıcılarına daha iyi bir web deneyimi yaşatmayı amaçlıyorlar ve AJAX da bunun için iyi bir araç. Belki de bu nedenden ötürü Web 2.0 eşittir AJAX gibi bir düşünce yaygınlaşmıştır.
Bu deneyimin artması her şeyin real-time olarak çalışıyor izlenimi vermesi, daha interaktif olması ve içeriğin zenginleşmesi adına WPF/E teknolojisini Microsoft hayatımıza sokacak. Bu konu gerçekten geniş bir konu ve kaynak bulmak pek de kolay değil .


Microsoft, Yahoo ve Google gibi devler kullanıyorlar ama burada Google'ı ayrı tutmak gerekir. Çünkü Google işe AJAX ile başlarken diğerleri sonradan geçiş yaptılar. Google görsel zenginlik konusuna da pek takılmamıştır, sadece AJAX'ın işlevsel yönüyle ilgilenmekte ve bence karizmatik tavrını devam ettirmektedir. Bu devler için AJAX çok önemli bir teknik, çünkü gerçekten yoğun trafiği olan ve oldukça dinamik web hizmetleri sunmaktadırlar.

Buna javascript konusunu biraz açarak başlamak gerekecek. Javascript her ne kadar içinde Java geçiyor olsa da pek java ile alakası bulunmayan istemci tarafında çalışan bir script dildir. Javascript bir tarayıcı yeteneğidir. Bu nedenle her javascript kodu her tarayıcıda aynı şekilde çalışmayabilir. Ama IE,FireFox,Opera gibi populer tarayıcılar büyük oranda ortak bir noktada buluşmuşlardır.

Javascript, web dünyasında 'ufacık tefecik işler için de sunucuya mı gideceğiz' serzenişine bir kurtarıcı olmuş ancak varlığı ve gelişimi ile ilgili herhangi bir garanti bulunmaması, geliştiricileri 'geri dönüşü zor' işlere girişmekten de uzak tutmuştur. Ancak zamanla web içeriğine dinamizm kazandırması ile popularitesi artmış, bizleri DHTML kavramı ile tanıştırmıştır. WEB sayfalarını tamamen javascript ile oluşturma noktasına kadar ulaşmış, hızını alamayarak animasyon ve görsel efektler konusunda da şaşırtıcı örnekler sunmuştur. Bu başdöndürücü gelişim üzerine dört bir yandan libraryler, toolkitler, frameworkler oluşturulmaya başlanmıştır. İçeriği javascript ile dinamik olarak değiştirebilme bilgi birikiminin üzerine, gerekli içeriği de bir http bağlantı ile sunucudan alma işleyişi eklenerek çok sayıda AJAX tool'u oluşturulmaya başlanmıştır. Özgür yazılımcılar ile birlikte IBM, Oracle, Google, Yahoo, Microsoft da bu konuyu yatırım yapmaya başlayınca belli oldu ki önümüzdeki yılların moda gündemi AJAX olacak, AJAX oturulup AJAX kalkılacak.

Bu önemli yoğurt yeme değişikliğini yeterince spekülatif bulmayanlar, daha dikkat çekici bir kavramı ortaya atarak herşeyi Javascript ve AJAX'a dayandıran bu yönteme, daha şimdiden WEB 2.0 adı koymuşlardır.

Bir çok firma ve açık kayanak kod geliştirici gruplar tarafından desteklenmektedir, bu desteğin kullanıcılara yansıması için alternatiflerden iyi olanların olgunlaşması gerekiyor. Biraz daha zamana ihtiyaç var hala geliştiriciler, html editörü denebilecek ortamlarda javascript kodlar yazmaya çalışıyor, javascript ile ciddi uygulama geliştirme ortamları daha yeni yeni duyulmaya başladı.

 

logo-MicrosoftPartner

HG_logo

bbbsealh1

brower


Bülten Aboneliği

İsim:

Email:

Online Destek

Web Tasarim Talep Formu
  1. Basvuru Tarihiniz(*)
    Lütfen Tarih Giriniz
  2. Firma Ünvani :
    Lütfen Giriniz.
  3. Ad Soyad :(*)
    Ad Soyad Giriniz
  4. Telefon(*)
    Telefon Numarasi Yaziniz
  5. E-Posta Adresiniz(*)
    Geçerli Bir E-Posta Adresi Yaziniz.
  6. istediginiz Hosting Paketi
    Hosting Paketi Seçiniz
  7. istediginiz Alan Adi(*)
    Alan Adi Giriniz
  8. Sitenizin konusu/faaliyet alani :(*)
    Faaliyet alaninizi veya konusunu yaziniz
  9. Diger eklemek istedikleriniz :
    Invalid Input
  10. Sitenizin Dili :(*)
    Sitenizin Dilini Yaziniz.
  11. Begendiginiz Siteler(*)
    En Az Begenmediginiz Bir Site Yaziniz ?
  12. Invalid Input
  13. Invalid Input
  14.   
Bülten Aboneliği
Destek Menüsü
Popüler Sayfalar
Yeni Sayfalar
Online Destek
Başvuru

Anket

Sizce Kalite ve Fiyatımız Nasıl ?
 
Şu anda 3 konuk çevrimiçi