AJAX Seminer Notlarım

AJAX ibrahim

Seminer Notlarım Öncelikle Erhan (Burhan) arkadaşıma AJAX’i ANLAMAK konusunda yazdığı güzel yazısı için çok teşekkür ediyorum. Gerçekten de çok açıklayıcı ve faydalı bir yazı olmuş. Bu yazının üstüne bana pek de söyleyecek birşey kalmadı ama yine de paylaşmaktan zarar gelmez düşüncesiyle Microsoft Türkiye’de Mehmet Nuri Çankaya Bey tarafından verilen AJAX Seminer notlarımı sizlerle paylaşmak istedim. Bir de blogumda yazdığım bu yazı çok fazla kişi tarafından okununca, AJAX-TR ziyaretçilerinin de okuması iyi olur diye düşündüm. Buyurun bakalım seminer notlarıma…

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 HTTPRequest 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üzeltilir 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 HTTPREQUEST yerine XMLHTTPREQUEST 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 sayede 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 etiketlerine 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 kullanıcının bekletildiği hissine kapılmasını artık engellemektedir.

AJAX teknolojisiyle ilgili bence en önemli nokta AJAX’in 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 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 Javascript’lerin 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 de 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 (WINDOWS PRESENTATION FOUNDATION EVERYWHERE) teknolojisini Microsoft hayatımıza sokacak. Ben AJAXNEDİR? grubundaki AJAXFLASH mı tartışmaları sırasında WPF’den biraz da olsa bahsetmiştim ve konuyla ilgilenen pek çok kişi olmuştu. Bu konu gerçekten geniş bir konu ve kaynak bulmak pek de kolay değil. Hala deneme aşamasında. (Şubat ortalarında resmen yayınlanmış olacak) Fakat fırsatım olursa bu konuya ait giriş niteliğinde bir yazı yazmaya çalışacağım. Belki de güzel örnekler bulup sizlerle paylaşırım.

Seminer sırasında aldığım notlar bunlar. Eklemek veya düzeltmek istediğiniz birşey olursa yorumlarınızı bekliyorum. Ayrıca aşağıdaki linklerden konuyla ilgili faydalı bilgilere ulaşabilirsiniz. AJAX-TR’den ayrılmayın ve bir sonraki yazıma kadar hoşçakalın …

Toplamda 3885 kez okunmuş.
Şu an 1 kişi okuyor.
En fazla 7 kişi aynı anda okumuş.
Bugün 0 kez okunmuş.

Etiketler:

1 oy2 oy3 oy4 oy5 oy (5 oy, ortalama 4) Oylanıyor ... Oylanıyor ...

  1. PHP ve Yerleşik DOM Sınıfları
  2. Sağlamlığı Kanıtlanmış Tekniklerle Web 2.0 AJAX
  3. Same Origin Policy ( Aynı Kaynak Politikası)

Trackback Yorumları takip et Baskı Önizleme

13 yorum var

  1. # yakuter | 29 Ocak 2007, 22:12 Gravatar

    AJAX’ı anlamak yazısı oldukça basit bir dille bu konuda hiç bilgisi olmayanlar için güzel bir makaleydi. Bu makale de genel olarak konuya hakim olup da AJAX’ın nasıl işlediğini merak edenler için çok güzel bir anlatım. Ellerine sağlık İbrahim, teşekkürler yazı için ;)

  2. # ibrahim | 29 Ocak 2007, 22:22 Gravatar

    Senin yazının üstüne pek bir kıymeti kalmadı ama :) yine de paylaşmak güzel olur diye düşündüm. Hem amacım Nuri Bey’in sitesindeki sunumu paylaşmaktı fakat hala görüyorumki sunucu da problem var. Eğer düzelmezse bu sorun , dosyayı biryerlere upload ederiz yada buraya ve okuyucularla paylaşırız.

    WPF gerçekten şaşırtıcı bir görsellik sağlıyor. Uygulamalarımızın hem desktop hem web hem mobil olanların VISTA ‘daki gibi şık olmasını sağlayacak. Sanırım kod adı ORCAS olan Visual Studio 8 ile default olarak gelecek. Biraz araştırıp bişiler yazmayı düşünüyorum WPF hakkında.

    Cuma günü de çok iyi bir isimden XML semineri alacağım o seminer notlarını da ziyarteçilerimiz AJAX-TR’den okuyabilecekler.

    Kolay gelsin.

  3. # Gürkan OLUÇ [grkn] | 29 Ocak 2007, 23:40 Gravatar

    özellikle xml ile ilgili notlarınızı bekliyorum ibrahim bey :) yapmayı düşündüğüm bir proje için lâzım şu aralar. w3c’yi kurcalayarak baya birşeyler öğrendim ama belki püf noktaları da vardır… Bu arada yazınız gayet güzel olmuş :)

  4. # Musty | 29 Ocak 2007, 23:42 Gravatar

    Teşekkürler. eburhanın yazısının üstüne çok güzel gitti. Bence bu siteyi takip eden herkes ajaxi zorlanmadan kavrayacaktır

  5. # kuponadam | 29 Ocak 2007, 23:49 Gravatar

    Ajax’ın kullanılma nedenlerini kullanıcıların daha iyi anlamasına yardımcı olacak bi yazı olmuş tebrikler. Bu arada aklıma gelen bişey var
    >ajax-tr olarak sadece ajax mantığını anlatmayı mı planlıyorsunuz ?
    >yoksa ajax bileşenlerinin bütününü kapsayıp hepsi üzerine mi gitmek
    >yoksa bu bileşenleri tek tek ele almaktansa, bunların senkronu ile ilgilenmekmi istiyorsunuz ?

    Bunları bilmek kullanıcılar için iyi olacaktır, çünkü amaca göre en basitinden html bilgisine bile ihtiyaç olabilir, kullanıcılar buna göre size destek olabilir.

  6. # yakuter | 29 Ocak 2007, 23:58 Gravatar

    @kuponadam AJAX’ı anlatıp da XML ve Javascript’ten bahsetmemek tabiki mümkün değildir. Ne mutlu ki yazarlarımızdan Hem Onur hem de İbrahim XML konusuna fazlasıyla hakimler ve bu konuyu baştan anlatabilecek durumdalar. Zaten XML az bilindiği için bu konunun üzerine özellikle eğileceğiz.

    Javascript konusunda ise hepimiz bir şeyler yazacağız fakat bu yazacaklarımız javascripti sıfırdan anlatma olmayacak. Çünkü o zaman konudan şaşarız. Biz javascripti uygulamalar esnasında nasıl kullandığımızı gösterirken anlatacağız. Böylece amaca yönelik bilgiyi anlatmış olacağız. Bilgi kirliliğinden uzak, sade ama öz anlatım olarak da düşünebilirsin.

    Özetlemek gerekirse senin sorunda sorduğun 3 maddenin karışımı. Hem mantığı, hem senkronizasyonu hem de XML’i baştan anlatacağız ;)

  7. # ibrahim | 30 Ocak 2007, 00:14 Gravatar

    XML notu olarak şimdilik şu alttaki 2 linkte yeralan yazılara bir bakın .Bilgiden ziyada fikir amaçlı yazılarım:

    XML NEDİR?

    XML DOM-SAX

    Umuyorum bir fırsatını bulur XML konusundaki yazılarıma yenilerini de eklerim.

    Sitenin gidişatıyla ilgili olarak Erhan daha iyi bilgi verecektir ama bence arda arda fikir amaçlı yazıların olması ziyaretçilerde acaba bu hep böyle mi olacak uygulama olmayacak mı gibi bir düşünceye neden oluyor. Herşey olacak sitede biraz sabır arkadaşlar. Ajax-tr’yi besleyenlerin saysı şimdilik sınırlı , sayımız arttıkça içerik de zenginleşecektir.Sizler de taleplerinizi iletirseniz o yönde de çalışmalar olur diye düşünüyorum.

    Yorumlar için tekrar teşekkürler

  8. # İsmail | 30 Ocak 2007, 00:26 Gravatar

    Güzel olmuş teşekkürler

  9. # yakuter | 30 Ocak 2007, 00:28 Gravatar

    İbrahim iyi bir konuya değindin. Sorulmadığı için onu söylemedim. Dün Onur’la da görüştüm. Ziyaretçilerimizin bilsin ki kendi AJAX uygulamalarımızı geliştirip yayınlayacağız. AJAX Anketler, ziyaretçi defterleri, sayaçlar ve belki bir gün içerik yönetim sistemleri… Fakat dediğin gibi zamanla…

  10. # ibrahim | 30 Ocak 2007, 00:52 Gravatar

    Arkadaşlar XML konusu sürekli açılıyor. Haklısınız XML çok önemli çok da faydalı . Peki bizlerden XML adına neleri öğrenmek istiyorsunuz.
    Mesela aklıma gelen konular:

    1) XML nedir? uygulamalar için önemi,negatif ve pozitf yanları.
    2) XML NAME SPACE,Well-Formed ve Valid XML kavramları
    3) WEB uygulamalarında XML
    4) DTD
    5) SCHEMA
    6) XPATH
    7) XSLT
    8) XML DOM - XML SAX
    9) XML ile çalışmak için araçlar (programlar ve kullanılışları)
    10) HEPSİ :)

    Belki Erhan bu tip bir oylama sistemini ana sayfaya koysak böylece en çok talep olan konuyu yazsak daha iyi olur gibime geliyor. Ana sayfada ufak bir alan anketlere ayrılabilir ama bunu Wordpress’e entegre etmek Erhan (lar) ‘ın işi.

  11. # ibrahim | 31 Ocak 2007, 10:45 Gravatar

    Arkadaşlar Mehmet Bey’in server problemi cozulmus sunumu indirebilirsiniz .
    Zaten yazıda da gerekli degisikliği yaptım bu konuda

    Bilginize

  12. # cemil | 11 Şubat 2007, 14:17 Gravatar

    emeğinize sağlık. bu yazıda mükemmel olmuş. bi çelişki sezdim onu sizinle paylaşayım. çelişki yazıyla ilgili değil bu arada. Web 2.0 ile web alemi bir standardizasyona gitmeyi ve doğru bilgiye ulaşmanın daha kolay hale gelmesini amaçlıyor yanlış bilmiyorsam, Ajax ise arama motorlarının indexlemesi ile arasının çok iyi olmadığını okuyorum. Dolayısıyla merak ettiğim konu arama Motorları - AJAX - Web 2.0 konularının birbirleri arasında bir tamamlayıcı unsur mu? yoksa iki ayrı kutup mu? konusunda bir çelişki yaşadım şu an. Beni bu çelişkiden kurtarırsanız çok sevinirim. :)

  13. # yakuter | 12 Şubat 2007, 15:14 Gravatar

    Aslında sorunuzun cevabı için bir makale yazılır :) Fakat kısaca bir iki şeye değinirsem sanırım sorunuzun cevabını kendiniz bulabilirsiniz.

    1) Web 2.0′ın ne demek olduğunu iyi bilmek lazım. Web 2.0 demek bol efektli siteler demek değildir. Web 2.0′da AJAX kullanılacak diye bir zorunluluk da yoktur. Web 2.0 siteler “Kullanıcı Odaklı” sitelerdir. Altyapısı isteğe göre değişir.

    2)Genelde sitenin tamamında AJAX kullanılmaz. Arama bölümünde olabilir, yorum ekleme bölümünde alabilirama tüm içeriği AJAX ile çağırmaya kalktığınız anda arama motorlarıyla aranız bozulur :)

    Bu durumda bence AJAX, arama motorları ve Web 2.0 ‘ı birlikte düşünmek yanlış olur. Belki bir yerlerden birbirlerine uçları değiyor fakat farklı kulvarların koşucuları olduklarını düşünüyorum…

Yorum yazın

sayfa sayacı