Merhaba Arkadaşlar,Uzun zamandır kodaman.org üyesiyim ve yazıları sürekli takip etmekteyim. Bir ara bende bişeyler ekliyeyim diye düşündüm fakat iş yoğunluğundan ancak bu güne zaman bulabildim ve kodaman.org daki ilk yazımı yazıyorum.Öncelikle kendimden kısaca bahsedeyim. Adım Fatih. Web dünyasında sürekli kullandığım teknolojiler ise XHTML, CSS, XML, XSLT, JavaScript, jQuery, Prototype dır. Şuan Silverlight öğrenmek için çaba harcıyorum.Neyse gelelim konumuza. Öncelikle kısa bir kaç cümle ile nedir bu jQuery ve Prototype diye özetiyeyim. jQuery ve Prototype hepimizin bildiği gibi JavaScript in gücüne güç katmak için ortaya atılmış library ler yani kütüphanelerdir. Kodlarımızı JavaScript e göre kısaltan, JavaScript ile yapmamız hayli vakit alacak işleri(Drag And Drop yada kütüphaneler ile gelen efektler gibi) kolayca halletmemize yarayan olmazsa olmaz kütüphanelerdir.Evet lafı daha fazla uzatmadan hemen giriş yapalım… jQuery vs. Prototype…Neden jQuery…?
Zincirleme fonksiyonlar(chain) ve objeler ile elementlere fonksiyon atamak(bind) için elverişlidir.Neden Prototype…?
Direk DOM (document object model) u ve JavaScript in objelerini extend(geliştirip genişlettiği için) ettiği için tercih ediliyor.Ve iki kütüphane de daha da kolay kod yazabilmek için dizayn edilmiştir. İşin derinine inelim…Kütüphane Boyutları
jQuery v.1.3.2 Minified // 55.9 KbjQuery v.1.3.2 Uncompressed // 117KbPrototype v.1.6.0.3 Uncompressed // 130KbPrototype v.1.6.0.1 Lastest Stable Version UncompressedSyntax(Yazım) Karşılaştırması
Prototype da $ işareti id ye yönelik bir şeçicidir(selector).jQuery de ise seçici olarak CSS seçicileri tercih edilmiş ve bence çok da iyi yapılmış. Prototype daki karşılığı $$ dır.ID si “kodaman” olan div i seçmek için yazılan Protoype kodu:$(‘kodaman’)
Class ı “kodaman” olan div i seçmek için yazılan Protoype kodu:$$(‘.kodaman’)
ID si “kodaman” olan div i seçmek için yazılan jQuery kodu:$(‘#kodaman’)
Class ı “kodaman” olan div i seçmek için yazılan jQuery kodu:$(‘.kodaman’)
jQuery de başlangıç fonksiyonunu yani window.onload fonksiyonunu 2 şekilde yazabiliriz.$(function(){ … })
$(document).ready(function(){ … })
Fakat bunu Prototype daEvent.observe(window, ‘load’, function() { … } );
içinde yazabiliriz.DOM Manupulasyonu (DOM Manupulation)(HTML yapısından istediğimiz elementi seçmek diyebiliriz.)
Prototype manupulasyon işlemi içinnext, nextSiblingsprevious, previousSiblingsup, downafter, before,bottom, top
vb. lerini kullanabilirkenjQuery de isenext, nextAllprev, prevAllparent, parentshtml, textafter, beforeinsertAfter, insertBefore
vb. lerini kullanabiliriz.Ayrıca bir kullanıcı olarak, ben daha önceden de, bu yazıyı yazarken deşunu farketmiştim. İsteyen arkadaşlar da deneyebilir. İki kütüphanenin de döküman sayfalarını açın ve aramak istediğiniz şeyleri yazın. Bakın bakalım hangisinde daha kolay ve tatminkar cevaplar bulabiliyorsunuz.Buyrun linklerPrototype API DocumentsjQuery API DocumentsBu iki kütüphane arasında bu ve buna benzer daha bir çok farklar var. Sonuç olaraksa ben jQuery yi tercih ediyorum. En başta Prototype öğrenerek başlamıştım kütüphanelere sonra jQuery ve EXT JS ile devam ettim. Prototype dan sonra jQuery bana daha cazip geldi. Çünkü herşeyden önce en güzeli CSS seçicileri ile çalışıyor. Ajax yaparken Prototype kadar çok şey yazmak zorunda değilim.Kısacası tercih meselesi… Elimden geldiği kadar bazı şeyleri açıklamak istedim. Daha değinilmesi gereken çok şey var bu konu bu kadar kısa değil tabiki de onu da 2.part da yazarız inşAllah :)ajaxsite search