Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
JavaScript'ten JQuery'ye - Ercan ZENGİN - Bilisimdergi.Com
      JavaScript'ten JQuery'ye Eylül 2010 | Sayı : 18

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
  • JavaScript

Netscape Communications Corporation, programcılığı Java'da olduğundan daha kolay ve erişilebilir yapmak ve Netscape Navigator'ın Java desteğini, Java kullanmayan programcılar için daha açık bir hale getirmeyi amaçlıyordu. Bu proje için Brendan Eich'i transfer etmişti. Brendan Eich, bütün gerekenin hızlı ve kolay kullanılabilir bir script dili olduğuna karar verdi. JavaScript, Web sayfasının içine yerleştirilecek ve o sayfa ile birlikte indirilecekti. Sonunda, bu fikir hayata geçti ve Brendan Eich bu icadına LiveScript adını verdi ama daha sonra ismi JavaScript olarak değiştirildi. 4 Aralık 1995'te JavaScript resmen duyuruldu. Her ne kadar Netscape tarafından geliştirilmiş olsa da, Java ile ilgili isim hakkı Sun Microsystems Inc.'a ait olduğundan JavaScript'in isim hakkı da Sun Microsystems'e aittir.

İsim benzerliği dolayısıyla JavaScript ve Java birbiriyle karıştırılabilmekte ve JavaScript'in Java ile bağlantılı olduğu sanılmaktadır. Aralarında herhangi bir bağ bulunmamaktadır. Java, tam anlamıyla bir programlama dilidir. JavaScript ise tarayıcı tarafından yorumlanarak çalışan bir script dilidir ve amacı HTML sayfalarında dinamik işlemler yapmaktır.

Microsoft, JavaScript'in büyük ilgi görmesinden sonra kendi script dilini geliştirmiş ve adına JScript demiştir. Netscape ve Internet Explorer ile ilgili uyum sorunlarından sonra Microsoft ve Netscape, European Computer Manufacturers Association'a (ECMA, http://www.ecma.ch/) JavaScript'in standart hale getirilmesi için başvurdular. Bu standart dilin adı da ECMAScript oldu. Bazı kaynaklarda bu isme rastlayabilirsiniz.

JavaScript istemci taraflı çalışan bir dildir. Etkileşimli ve dinamik Web sayfaları hazırlama imkanı sağlar. Web sayfası üzerindeki nesnelerin kontrolünü bize verir. Görsel birtakım işlemlerden Web sayfalarının işlem anında yeniden yazılmasına kadar birçok işlemi JavaScript ile gerçekleştirebiliriz. Verileri, sunucuya gönderilmeden önce kontrol etmek ve böylelikle sunucuyla gereksiz iletişimi engellemek de yine JavaScript ile mümkündür. Bunlar gibi sunucuda çalışma zorunluluğu olmayan pek çok programlama işlemini JavaScript ile yapabiliriz. JavaScript kullanılan sayfaları, JavaScript desteği olan tarayıcılarda görüntüleyebiliriz.

JavaScript, bugün çok yaygın bir şekilde kullanılmakta ve tüm güncel Web tarayıcıları tarafından desteklenmektedir.

  • AJAX

2005'te Jesse James Garrett "Ajax: Web Uygulamalarına Yeni Bir Yaklaşım" adında çevrimiçi bir makale yayınladı (www.adaptivepath.com/publications/essays/archives/000385.php adresinde hala bulunabilir). Bu denemede Garrett, Web uygulamalarının, Web ve geleneksel masaüstü uygulamaları arasındaki boşluğu nasıl kapadığına inandığını anlatıyordu. Geleneksel masaüstü tabanlı kullanıcı etkileşim modellerinin artık nasıl Web üzerinde de kullanıldığını örneklemek için yeni teknolojilerden bahsetmişti. Bu noktadan sonra Ajax'la ilgili birçok makale ve kod örnekleri yayımlanmaya başladı. Web'in gelişim sürecinde JavaScript, dinamik HTML, Iframes, ActiveX teknolojileri Ajax'ın ortaya çıkmasına ve tanımlanmasına katkıda bulunan teknolojilerdir.

Ajax, İnternet sayfalarında JavaScript ve XMLHttpRequest kullanımı ile etkileşimli uygulamalar yazmak için kullanılan Web programlama tekniğidir. İsmi "Asynchronous JavaScript and XML" (Eşzamansız JavaScript ve XML) kelimelerinin birleşimiyle oluşmuştur. Temel amacı, arka planda sunucuyla ufak miktarda veri değişimi sayesinde sayfayı daha hızlı güncelleyebilen Web sayfaları yapmak, dolayısıyla kullanıcının istediği her anda bütün Web sayfasını güncellemek derdinden kurtulmaktır. Bu da Web sayfasının etkileşimini, hızını ve kullanılabilirliğini artırmak demektir.

Ajax tekniği, aşağıdaki teknolojileri kullanır:

  • Bilgiyi biçimlendirmek ve görüntüsünü değiştirmek için XHTML (ya da HTML) ve CSS.
  • Görüntülenecek bilgiyi dinamik olarak göstermek ve onunla etkileşimli çalışmak için özellikle JavaScript ve JScript gibi ECMAScript olan kullanıcı tarafındaki bir scripting dili yardımıyla erişilebilen DOM.
  • Web sunucusu ile bilgi değiş tokuşunda kullanılan XMLHttpRequest objesi. Bazı Ajax frameworklerde ve bazı durumlarda Web sunucusuyla bilgi alışverişi için XMLHttpRequest yerine IFrame de kullanılır; diğer uygulamalarda ise dinamik olarak eklenen JavaScript TAG'leri de kullanılabilir.
  • Kullanıcıyla sunucu arasındaki bilgi alışverişlerinde genelde XML formatı kullanılır. Önceden hazırlanmış HTML, düz metin, JSON ve hatta EBML dahi olmak üzere herhangi bir format da kullanılabilir. Bu tip dosyalar sunucu tarafında herhangi bir script (PHP, ASP vs.) ile bile üretilmiş olabilir.
  • DHTML, LAMP ve SPA gibilerin aksine Ajax kendi başına bir teknoloji değildir, ancak terim birçok teknolojinin bir bütün olarak kullanıldığını ifade eder.

Ajax, milyonlarca kullanıcısı olan Google Maps, Facebook, Gmail gibi sitelerde kullanılmaktadır.

  • JavaScript Kütüphaneleri

Bir JavaScript kütüphanesi, özellikle Ajax ve diğer Web merkezli teknolojiler için önceden yazılmış ve JavaScript tabanlı uygulamaları daha kolay geliştirmeyi sağlayan JavaScript kontrolleridir.

YUI (Yahoo User Interface) gibi bazı JavaScript kütüphaneleri, genel olarak JavaScript kütüphanelerinde bulunmayan özellikler sergilediğinden framework olarak adlandırılır.

JavaScript'in kullanım alanlarının genişlemesi ve beklentilerin artmasıyla programcılar için, ihtiyaç duyulan dinamik arayüzleri geliştirme ihtiyacı doğdu. Bu nedenle, geliştiricilerin AJAX'ın daha özel uygulamalarında yoğunlaşmasını sağlayan Prototype, script.aculo.us, Ext Core, MooTools ve JQuery gibi JavaScript kütüphaneleri ve Ext JS ve Dojo Toolkit gibi araç kütüphaneleri geliştirildi.

Geliştiriciler, zamanla birçok JavaScript kütüphanesi geliştirdiler ve çoklu tarayıcı desteği konusunda birçok sorunu bu kütüphanelerle çözdüler. Yazan geliştiricinin cevap vermek istediği sorunlara göre hepsi belirli alanlarda kullanılmıştır. Hepsi farklı özellikleriyle ön plana çıkmışlardır. Özelliklerine göre de farklı alanlarda ya da farklı teknolojileri kullanarak geliştirme yapanların tercih ettikleri kütüphaneler olmuşlardır.

JQuery'ye kadar olan süreci ele aldıktan sonra asıl konumuz olan JQuery'ye geçelim.

  • JQuery

Bahsettiğimiz bu teknolojilerin ortaya çıkması ve yer edinmesiyle JavaScript kütüphaneleri yaygın olarak kullanılmış ve sürekli geliştirilmeye devam etmiştir. Web alanında geliştirme yapanlar, bu kütüphaneleri yoğun bir şekilde kullanmışlardır. Bu kullanım süreci JQuery'nin varlığı için bir zemin hazırlamış ve aynı zamanda gelişmiş, kapsamlı bir JavaScript kütüphanesinin var olması fikrini de doğurmuştur.

İşte, JQuery böyle bir sürecin sonunda ortaya çıkmış ve farklı olmayı başarmıştır. JQuery'nin resmi sitesinin girişinde "JQuery, JavaScript ile yazım şeklinizi değiştirmek için tasarlanmıştır" ifadesi yer almaktadır. Gerçekten bu iddiayı doğrular nitelikte bir başarı yakalamıştır.

 JQuery, HTML ile istemci tarafında kodlamayı kolaylaştırmak için yazılmış, çoklu tarayıcı desteği olan bir JavaScript kütüphanesidir. JQuery ücretsiz, MIT License ve GNU License versiyon 2 ile korunan açık kaynak bir yazılımdır. 2006 yılının ocak ayında John Resig tarafından BarCamp konferansında duyurulmuştur. Dünyada en çok ziyaret edilen ilk 10.000 sitenin yaklaşık %35'inde kullanılmaktadır. Günümüzde en çok kullanılan JavaScript kütüphanesidir. Google, Amazon, IBM, WordPress, Mozilla, Microsoft, Twitter, Dell, Electronic Arts JQuery kullanan sitelerden birkaçıdır. Microsoft dahi, JQuery'yi Visual Studio içerisine dahil etmeye karar vermiştir. Nokia, Web Runtime bileşenini içeren tüm telefonlarında JQuery kullanmaktadır.

JQuery, şu belirgin özellikleriyle diğer JavaScript kütüphaneleri arasında ön plana çıkar:

  • Kolay kullanılabilir olması.
  • Geniş kapsamlı kullanılması. Çok fazla ihtiyaca cevap vermesi.
  • Tek bir küçük boyutlu (sıkıştırılmamış, geniş hali 155 KB olan) dosyadan ibaret olması.
  • Çoklu tarayıcı desteğini tam olarak sağlaması.
  • Az kodla çok iş yapmayı amaçlaması ve bunu başarması.
 

JQuery’nin diğer JavaScript kütüphaneleriyle çok yönlü karşılaştırmasını şu bağlantıda inceleyebilirsiniz:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

Ayrıca mevcut JavaScript kütüphanelerinin kullanım oranlarını da ayrıntılı olarak şu bağlantıda görebilirsiniz:
http://trends.builtwith.com/javascript

 

JQuery, pek çok işlemi otomatikleştirme ve karmaşık işlemleri basitleştirme becerisine sahiptir. Birçok yapısı HTML ve Cascading Style Sheets (CCS)'ten ödünç alınmıştır. Yapısı, programlama deneyimi az olan tasarımcılar için uygundur. JavaScript konusunda deneyiminiz az olsa da JQuery ile kolayca tasarım yapabilirsiniz.

JQuery kütüphanesi, temel Web programlama için genel amaçlı bir soyutlama katmanı sağlar. Bu yönüyle her türlü kodlama ihtiyacına cevap verebilir niteliktedir. Genişletilebilir doğası nedeniyle sayamayacağımız kadar kullanımı mümkün fonksiyon ve kullanım sağlar.

JQuery'nin sağladıklarını şöyle sıralayabiliriz (Doküman olarak bahsedilen nesne Document Object Model (DOM) yapısında kullanılan document sınıfıdır):

Dokümandaki elemanlara erişim: JavaScript kütüphanesi kullanmadan, Document Object Model (DOM) ağacında ve bir HTML belgesinin belirli kısımlarında işlem yapmak için uzun kodlar yazmak gerekir. Dokümanın gözlemlenecek ya da üzerinde işlem yapılacak belirli bir kısmına ulaşmak için JQuery'de güçlü ve etkili bir seçim mekanizması sunulmuştur.

Bir Web sayfasının görünümünü değiştirme: CSS, bir sayfayı değiştirmek için güçlü metotlar sunar ancak tüm Web tarayıcıları aynı standartları desteklemediğinden yetersiz kalır. JQuery ile geliştiriciler, aynı standartlara dayanarak bu boşluğu doldurabilirler. Ayrıca JQuery, dokümanın bir kısmına uygulanan sınıfları ya da özel stil özelliklerini sayfa oluşturulduktan sonra bile değiştirebilir.

Dokümanın içeriğini değiştirme: Yalnızca görsel değişikliklerle sınırlı değildir, JQuery birkaç hareketle belgenin içeriğini kendisi değiştirebilir. Metin değiştirilebilir, resimler eklenebilir ya da yerleri değiştirilebilir, listeler tekrar sıralanabilir ya da tüm HTML yapısı tekrar yazılabilir ya da genişletilebilir - hepsi kullanımı kolay, tek bir Application Programming Interface (API) ile.

Kullanıcının etkileşimlerine yanıt verme: En güçlü ve ayrıntılı özellikler bile eğer kontrol edemezsek kullanışsızdır. JQuery kütüphanesi, bir bağlantıya kod yüklemeden kullanıcı tıklaması yaptırma işlemi gibi çok çeşitli olayları şık bir şekilde yönetmeyi sağlar. Aynı zamanda, olay işleyici API'si genelde Web geliştiricilerinin belası olan tarayıcı tutarsızlıklarını ortadan kaldırır.

Dokümana yapılan değişiklikleri hareketlendirme: Etkili bir şekilde interaktif uygulamalar geliştirmek için tasarımcı, kullanıcıya görsel geri dönüşler ve iletiler sağlamalıdır. JQuery kütüphanesi, yeni efektler oluşturmanın yanında silime ve renk değiştirme gibi efektler dizisi sunarak bu işlemleri kolaylaştırır.

Sayfayı yenilemeden sunucudan veri alma: Bu kod modeli Asynchronous JavaScript And XML (AJAX) olarak bilinir ve Web geliştiricilerine esnek ve zengin özellikli siteleri ustalıkla yapmaları konusunda yardımcı olur.

Genel JavaScript işlemlerini basitleştirme: Dokümana özgü tüm özelliklerine ek olarak JQuery kütüphanesi, iterasyonlar ve dizi işlemleri gibi temel JavaScript yapılarında artış sağlar.

Bu yazımızda Web teknolojilerinin gelişim sürecinde JQuery'nin ortaya çıkışını etkileyen teknolojileri ve JQuery'nin bu süreçteki yerini ele aldık ve JQuery hakkında ayrıntılı bilgi sahibi olduk. Gelecek yazılarımızda JQuery'i daha yakından tanıyacak ve JQuery ile ilgili öğretici uygulamalar yapacağız. Görüşmek üzere.

Kaynaklar:

      Ercan ZENGİN
İ.Ü. Bilgisayar Mühendisliği
- Eylül 2010 -

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
Editörden... | Ercan ZENGİN
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
Star Wars | Özge ATASEVEN
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
Ulead Video Studio | Serkan AKDEMİR
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
Starcraft II | Erman TEPE
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
Network Katmanları | Feyzan SARUHAN
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
Store | Muhammed CÜCE
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
1'leri ve 0'ları Unutun! | Neslişah ÇELİK
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
POCO Nedir? | Canan GÜMRÜKÇÜOĞLU
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
Model View Controller | Sinan BALÇIN
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
Gömülü Sistem | Ilgın UĞUR
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
WCF Uygulamasının IIS’te Host İşlemi | Ünsal ASLAN
Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
JavaScript'ten JQuery'ye | Ercan ZENGİN

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 208

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 209

Deprecated: Function ereg_replace() is deprecated in /home/bilisimd/public_html/articles_details.php on line 210
« önceki sayfa - 11 -

Ana Sayfa | Künye | Dergimiz | Yazarlar İçin | İletişim
© 2009-2010 Bilisimdergi.Com Tasarım - Kodlama : İU BİLGİSAYAR

Creative Commons License
Bilişim Dergi içeriği  Creative Commons  lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla yazılarımızı kullanabilirsiniz.