Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180

Warning: is_writeable() [function.is-writeable]: open_basedir restriction in effect. File(/dev/null) is not within the allowed path(s): (/home/ajaxkayn:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/ajaxkayn/public_html/mambots/system/blueflame/bfLog.php on line 180
Ajax Nedir? PDF Yazdır E-posta
Yazar Administrator   
Salı, 30 Ekim 2007

 

Web dünyasıyla biraz ilgili olanların adını sıkça duymaya başladıkları AJAX'ın açılımı "Asynchronous JavaScript and XML" dir, kendisi bir yöntemin adıdır, bir WEB sayfası oluşturma tekniğidir.

Klasik web sayfalarında, sayfanın herhangi bir bölümünde değişiklik olabilmesi için sayfanın tamamının server tarafında yeniden oluşturulup tarayıcıya gönderilmesi gerekir. Oysa AJAX ile sayfanın sadece istenen bölümünün değiştirilmesi sağlanabilir.

 

AJAX'ın tarihçesi
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.

 

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.

 

Sonuç olarak AJAX;
çıkış amacı her ne kadar işlevsellik olsa da şu an görsellik + işlevsellik durumuna getirilmiştir. Görsel etkinlikler tamamen görecelidir bu anlamda yapılan çalışmalar ve didinmeler tamamen günümüz taleplerini tatmin etmeye yöneliktir diye düşünüyorum bu yönüyle AJAX'ı modaya benzetiyorum. İşlevsellik anlamında ise gerçekten bir ihtiyaç, hatta WEB uygulamalarının büyük bir açığını kapama olarak nitelendiriyorum.

 

Kullanan var mı?
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.

 

Desteği var mı?
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ı.

 

Geleceği var mı?
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 Programlama Şekilleri:

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.
Please Enter New Tags Separated By Comma's
  Or Close

okÅŸ 
Powered by Joomla Tags
Valid XHTML 1.0 Transitional

Son Güncelleme ( Cuma, 21 Mart 2008 )