| 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 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:
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: 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 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 .
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ı. |

