İnternet, Web 2.0, Ajax, .Net, Framework, Intellisense vs. vs. ve Gelecek

Uzun bir aradan sonra merhaba.

Düşünüyorum da doğumumuzdan itibaren başkaları tarafından belirlenmiş bir istikamette, onların sınırladıkları duvarlar arasından süzülüyoruz. Kimimiz önden kimimiz arkadan birbirini takip ediyor. Fakat herkesin yolu ortak. Bunu büyük bir damar olarak düşünebiliriz, içinde milyonlarca kılcal damar var. Herkesin yolu ayrı gözükse de, herkes esasında aynı yolda.

Ne ki şimdi bu dediğinizi duyar gibiyim. Herkes bilgisayar ve dolayısı ile teknolojinin inanılmaz hızlı gelişiminden yakınır. Kimileri artık yeni teknolojileri öğrenemediğini söyler. Fakat her zaman birileri öğrenir, bir yere kadar karnını doyurur sonra yine upgrade olur.

Bundan 7-8 sene önce, çok uzun gelmiyor daha dün gibi sanki, her yer Java Applet’leri ile doluydu. Dhtml menüler zortlar, sayfalar gereksiz efektlerle açılır, çoğu sitenin arkasında midiler çalardı. Anımsarsanız yüzünüzde tebessüm olacaktır değil mi?

Fakat şimdi dönüp inşaa ettiğimiz şeylere baktığımızda farklı bir tebessüm var yüzümüzde. Belki gurur denebilir buna. Neden? Oldukça optimize edilmiş, tablesız, MVC sistemlerini sonuna kadar kullanan, kimilerinin küçümsediği o internet sistemleri artık bir sanat olmuş durumda.

Peki acaba bundan sonra ne olacak. Romalılar gibi doyuma ulaşıp yerle bir mi olacağız? Ben pek sanmıyorum. Dedimya, yeni doğanlar için yeni yolları biz geliştiriyoruz zaten. Daha şimdiden birbirinin aynı, taklidi, klon onlarca sistem doldu. İnternet sanal bilgi alanı olmaktan ziyade bir çöplük oldu. Bunu fark eden, bilgileri toparlayıcı hedefi olan sistemler yükselişe geçti ki en güzel örneği Facebook ve Youtube sanırım.

Sağa bakıyorsunuz ajaxla süslenmiş içeriği olmayan binlerce blog, sola bakıyorsunuz binlerce dostluk sitesi, forumlara değinmeyeceğim bile. Fakat artık browser içinden çalışan ve birilerinin “bak bu güzel” diyip herkesin “huraa” diyerek saldırdığı web 2.0 denen şeyin de sonu geliyor gibi. Zira web 3.0′ın çıkacağı da duyuruldu. Gelişen internet bağlantılarının faydasıyla ben artık daha gelişmiş browserların ortaya çıkacağını, klasik sunucu-istemci olayının text based ya da max. flash arayüzlü sistemler yerine oldukça işlevsel, olmazsa olmaz sistemlere geçiş yapılacağını düşünüyorum.

En azından düşünüyorum evet. Zira sıkıldım artık Ajax’tan, word press’ten, rss’ten, css’ten. Artık aynı kokuyor sanki hepsi. Bu doyuma ulaşmanın farkında olan Microsoft SilverLight’ı çıkartmayı deniyor, ama acaba ne denli başarılı olacak.

Sözün özü şu güne kadar öğrendiğim tek şey, siz teknolojiyi yaratın kazanın. Siz teknolojiyi taklit edin az kazanın. Siz doyuma ulaşmış sistemleri kullanın kaybedin.

AJAX ve Şahane Ajax Örnekleri

Yok hayır, ne deterjan ne de bir futbol kulübünden bahsedeceğim.

Esasında şu günlerde internet programlama ile uğraşmayanlar dahi bu yepyeni uygulama dilini bilir oldu. Bilmeseler bile bu şirin dilin getirdiği yenilikler muhakkak dikkatlerini çekmiştir.

Ajax aslında yeni bir dil değil. Sadece varolan bir şeyin güzelce isimlendirilmişi. Açılımı; Asynchronous JavaScript and XML yani kulağa hiç de yabancı gelmeyen öğelerden oluştuğunu görüyoruzdur sanırım. Ajax’ın temel mantığı XML tabanlı HTML Requestlerin kontrolünü sağlamak. Elbette bu daha önceden de vardı fakat Ajax bize pek çok yenilik, kolaylık ve pratiklik sağladı. Bir kere XMLHttpRequest ismini AJAX ismine çevirdi :)

Ajax’ı kısaca tanımlayacak olursak; interaktif web yazılımları için geliştirilmiş, sunucu ile az miktarda konuşup verileri sayfayı yenilemeden, sadece belirlenen bir alanı yenileyerek güncelleyen bir dildir diyebiliriz. Elbette bu çok dar bir tanım. Fakat şimdilik bu kadarı kafamızda otursa kafi.

Peki nasıl yapıyor bunları?

- Mantığı çok karışık değil. Öncelikle bahsettiğimiz veritabanı vs. yerlerden verileri alırken XML dilini kullanıyor. Bu da çoğu zaman Türk kullanıcılarının canını sıkabiliyor, zira Türkçe karakterler bazı uygulamalarda problem yaratabiliyor.

- CSS seviyor, çünkü DIV denen bölmelerin içinde varlığını çok raht gösteriyor. Class yapısını seviyor.

- Java Script ile kütüphanelerini kullanarak basit bir HTML sayfasından bunları hızlıca kullanabilmemizi sağlıyor.

- XMLHttpRequest ögesi gerektiriyor. Baştada belirttiğim gibi bu uygulamanın esası Request üzerine kurulu. Bunun için halihazırda pek çok Ajax Framework geliştirilmiş durumda.
Şimdi de güzel Ajax uygulamaları linklerini vererek sizleri bu güzel dile iyice davet ediyorum.

En güncel ve şahane kaynak:

http://www.ajaxrain.com

* Ajax Frameworkleri

Jquery : http://jquery.com/ ve User Interface: http://ui.jquery.com/ (canavar)

Bence en sağlamı bu. http://docs.jquery.com/Plugins adresinden bununla yapılmış pluginleri inceleyebilirsiniz

Moo : http://mootools.net/

script.aculo.us: http://script.aculo.us/

* Animasyon Kütüphaneleri

Çoğul kullandım ama pek fazla yok bunlardan. Benim bildiğim, hayran kaldığım şu var.

http://berniecode.com/writing/animator.html

* En popüler uygulamalar

1- Light box

http://www.lokeshdhakar.com/projects/lightbox2/

(Bonus: Light box Gone Wild: http://particletree.com/features/lightbox-gone-wild/ - Grey Box: http://orangoo.com/labs/GreyBox/ )

2- Live Validation

http://www.livevalidation.com/

3- Image Cropper

http://www.defusion.org.uk/demos/060519/cropper.php

4- mxGraph

http://www.mxgraph.com/demo.html

5- Sliding Tabs

http://extjs.com/deploy/ext-2.0-alpha1/examples/tabs/tabs-adv.html

6- Drag and Drop Portal

http://blog.xilinus.com/prototype-portal/test/index.html

7- Fisheye

http://positionabsolute.net/blog/2007/08/prototype-fisheye.php

8- Gridview

http://extjs.com/deploy/ext-2.0-alpha1/examples/grid/grouping.html

http://dotnetslackers.com/projects/AjaxDataControls/GridView/ComplexEditing.aspx (.net)

Umarım işinizi görecek bir döküman olmuştur.