AJAX’dan AJAX’a fark var sanki!
May 30th, 2006
AJAX fırtınası ile daha çok ilgileniyorum şu sıralar. Dikkatimi çeken birşeyler var, www.flickr.com da kullanılan AJAX neredeyse mükemmel, tüm browserlarda aynı performans ile çalışıyor. Ayrıca sistemin performansını da düşürmüyor. Ancak www.blogspot.com da aynı şey sözkonusu değil. Anasayfada kullanılan AJAX sebebiyle ciddi bir yavaşlık sözkonusu.
Bunları windows üzerinde özel olarak denemedim ama farketmemesi gerekir. Genelde işlerimin çoğunluğunu linux üzerinde yapıyorum ve windows’u bir sanal makinede internet explorer üzerinde yaptığım işlerin nasıl göründüğüne bakmak için kullanıyorum.
Browser’ı aşırı yavaşlatan java uygulamaları ziyaretçileri hep bıktırmıştır. Ortalama bilgi seviyesine sahip bir kullanıcı için ise aniden browser da bir yavaşlama görüp bir muamma ile karşı karşıya kalmalarına neden olmuştur.
Bu yavaşlık ve sistemi ağırlaştırma meselesi blogmad’de iyice azıyor. Ekranı scroll etmeye çalışmak bile büyük bir işkenceye dönüşüyor.
Web 2.0 kavramını seviyorum, her zaman savundum, kendi yazdığım web uygulamalarında da hep kullandım bu mantığı, özellikle de flash ile bir sunucu tarafı yazılım dili kullanıp bunları konuşturarak bugünkü AJAX mantığında çok iş yaptım. Ancak bu uygulamaların doğru ve fazla yük yaratmadan üretilmesi ve kullanılması gerek.
Bu hem kodlamanın kalitesine bağlı hem de sunucudan o anda çekilen verinin büyüklüğüne bağlı birşey.
Flickr gibi bir web sitesi olmasa derim ki AJAX falan kasmayın hiç, bu
işler yatar. Ama Flickr’da son derece sorunsuz çalışan, bilgisayarı ve browser’ı yavaşlatamayan bir AJAX kullanımı sözkonusu.
Demek ki yapınca oluyor.
Java ve video gibi ağır uygulamaların bile sorunsuzca çalıştığı web siteleri var artık. Söz konusu flash değil de javascript olunca bunların kaynak kodlarını görmek de mümkün, dolayısıyla insan kendisini geliştirebilir, çatlayıp patlamayan AJAX uygulamaları geliştirmek hususunda.
Bu arada eurovision da birinci olan lordi yi de tebrik edeyim ben.
AJAX ve FLASH Tartışmaları
May 16th, 2006
2006 yılında web geliştirme dünyasındaki sıcak tartışma konularından biri de ajax mantığının flash ile kullanılması konusu.
İşin gerçeği şu ki, ajax kullanarak yapılan işler yıllardır flash ile yapılabiliyor, yaklaşık 2001 yılından beri, flash actionscript ve sunucu tarafı bir kodlama dili kullanarak bugünkü ajax uygulamalarını çatır çatır yapabiliyorsunuz.
Daha ileri gitmeden evvel ajax nedir, buna kısa bir açıklama getirelim:
Kaba anlatımıyla ajax, bir web sayfası önünüzde dururken sayfa yenilenmeye gerek kalmadan gösterilen bilginin değiştirilebilmesi, dolayısıyla daha dinamik bir web arayüzüne kavuşmanız demek. Örneğin bir kullanıcı giriş sayfasını ele alalım, normalde kullanıcı adımızı ve şifremizi yazar ve “tamam”, “yolla”, “gönder”, vs. gibi bir butona basarız. Bilgiler sunucuya gider, bu arada yeni bir sayfa çıkar karşımıza, bize “login oldunuz” der ya da “şifrenizi yanlış girdiniz” der vs. vs… ajax kullanarak bu işlemi sayfayı yenilemeden yapabilmeniz mümkün, yani ziyaretçi kullanıcı adını ve şifresini girdikten sonra bir butona tıklyacak ve o sırada arkaplandaki ajax kodunuz çalışacak ki esasında javascript bu, veritabanında gerekli kontrol işlemini yapacak ve sonucu yeniden sayfaya yollayacak. siz de bu bilgiyi, yıllar yılı bildiğimiz ve kullandığımız innerHTML komutu ile değiştireceksiniz ve hoşgeldin diyeceksiniz. İşte ajax böyle birşey. Bir başka basit örnek de web sayfasını yenilemeden bir şehrin hava sıcaklığını 30 saniyede bir o sayfaya yollamak (ya da daha doğrusu sayfanın o veriyi veritabanından çekmesi) olabilir.
Bunu yapabilmek için javascript ile httpXMLrequest diye bir obje kullanıyorsunuz ki bana sorarsanız allahlık bir obje bu, javascript’in ezelden beri temel derdi olan her browser da farklı sonuç verme ya da bazılarında hiç çalışmama sorunu bu obje için de geçerli maalesef. Örneğin bu obje internet explorer da çalışmıyor ve siz ajax kullanabilmek için browser detect edip (hani turkce, nerde turkce??) browser’a göre muamele yapıp eğer muhatabınız internet explorer ise farklı bir obje olan ActiveX bilmemne object kullanıyorsunuz. Ve benim gözümde olay zaten daha buradan kopuyor.
Flash ile bir sendVariable object yaratıp bunu browser neymiş düşünmeden kullanabiliyorsunuz, hem de yıllardır!
Üstelik Flash bir applet olduğu için, içine yazdığınız actionscript ile objeleri denetlemeniz javascript ile boğuşmaktan çok daha kolay.
Biraz zaman ayırabildiğimde bunun flash ile yapılmış örneklerine değineceğim. Bu arada siz de, bol bol ajax kullanan ve bunu hakkını vererek yapmakta olan www.flickr.com u ziyaret edebilirsiniz mesela.
Devam edecek bu konu, görüşmek üzere.

