Site iconBeytullah Güneş

JavaScript Nedir?

HTML dili her ne kadar metinler üzerinde neredeyse her türlü düzenlemeyi yapmamıza izin verse de, zayıf kaldığı bazı yönler vardır; mesela HTML bize web sayfalarına bir ‘iş’ yaptırtma, onları değişik olaylara veya durumlara duyarlı hale getirme imkanı sunmaz. Bu eksikliği Netscape firmasının yetkilileri de farketmiş olacak ki Aralık 1995 tarihinde, C dilinin browser’lara uyarlanmış hali diyebileceğimiz JavaScript’i piyasaya sürdüler.
Tam bu dönemde Sun Microsystems Pascal ve Delphi dillerinden esinlerek oluşturduğu ‘Java’ isimli bir programlama dilini piyasaya sürmek üzereydi. Netscape’in piyasaya sürdüğü script dilinin ismini JavaScript koyması, o dönemde çok telaffuz edilen ‘Java’ kelimesinin popüleritesinden yararlanmak adına uyguladığı bir pazarlama stratejisiydi, yani pek çok kişinin düşündüğünün aksine Java ile JavaScript arasında isim benzerliği hariç hiçbir benzerlik yoktur.
Bir süre sonra Microsoft da olaya el attı ve JavaScript’le neredeyse aynı olan JScript’i piyasaya sürdü.Fakat sonra bu diller farklı yönlere doğru geliştiler. Şu anda Netscape tarayıcısı JScript’i tanımıyor, fakat Explorer her iki script’i de tanıyor. Yine de iki tarayıcının JavaScript’i yorumlamaları bazen farklılık gösterebiliyor.
‘JavaScript nedir?’  :

JavaScript ile neler yapılabilir?

JavaScript ile bir web sayfasına yukarıda tanımladığımız biçimde herhangi bir olayın gerçekleşmesi halinde herhangi bir iş yaptırabiliriz. Örnegin sayfada bir butona basıldığında sayfadaki bir ‘text’ kutusunun içine ‘Click!’ yazdırabiliriz. Burada olay ziyaretçinin butona tıklaması, iş ise text kutusuna ‘Click!’ yazılmasıdır… Javascript dilinde neredeyse olası her olay tanımlanmıştır, dolayısıyla yapılabilecek şeyler çok geniştir.
Javascript’i öğrenmeye geçmeden önce bir öneri: Sadece gerektiği zaman Javasript’i kullanın. Gereksiz kullanımlar sayfanın boyutunu şişireceği gibi, sayfanızın estetiğini ve kullanışlılığını de olumsuz yönde etkileyecektir.

JavaScript Tanımlamak

Muhtemelen JavaScript‘in bir “a client-side scripting language” olarak geçtiğini yani kullanıcı tarafında(client-side) çalışan betik bir dil olduğunu duymuşsunuzdur. Bu aslında web tarayıcısında çalışan bir programlama dili olduğunu söylemenin başka bir yoludur.
Alternatif olarak Wikipedia şöyle tanımlıyor.

JavaScript is a high-level, dynamic, untyped, and interpreted programming language. It has been standardized in the ECMAScript language specification.

JavaScript’in yukarıda yaptığımız tanımının yanında aynı zamanda dikkat çekici bir özelliği de server-side(sunucu tarafında) de çalışabildiğini de belirtmek gerekiyor! Öncelikle yukarıdaki bazı noktalar hakkında konuştuktan daha sonra makalemizde server-side kısmı hakkında da konuşacağız.

Yukarıdaki maddelerin hepsi çok önemlidir. Dilin nasıl çalıştığını bilmek de oldukça önemlidir. Nasıl çalıştığını veya nasıl çalışması gerektiğini de bilmekte oldukça fayda olduğunu düşünüyorum.

JavaScript hakkında

JavaScript, nesneye yönelik programlama dilidir. Lakin daha önce gördüğünüzden biraz farklıdır.
JavaScript, prototypal(prototipik) dili olarak adlandırılır. Buda JavaScript’deki tüm nesnelerin String gibi prototypes(prototipler)in üzerine kurulu olduğu anlamına gelir.
Geliştiriciler prototypal inheritance(prototip kalıtımı)ni kullanarak nesnelere ek işlevsellik kazandırmayı sağlayabilir.

Prototype-based programming is a style of object-oriented programming in which behaviour reuse (known as inheritance) is performed via a process of cloning existing objects that serve as prototypes.

Daha önce hiç nesne tabanlı programlama diliye çalışmadıysanız o zaman bir avantaja sahip olabilirsiniz çünkü sırayla kafanızdaki nesne yönelimli modelin kavramları değişmeyecektir.
Eğer nesne tabanlı programlama dilleriyle çalışmalar yaptıysanız prototypal inheritance(prototip kalıtımı)nin, klasik inheritance(miras) den nasıl farklı olduğunu ayırt etmemiz gerektiğini düşünüyorum.

Sonunda ve belki de en önemli şey bir nesneyi prototipiyle değiştirdiğinizde o nesneyi kullanan herkes tarafından erişilebilir olmasıdır.

JavaScript Nasıl Kullanılır

JavaScript’i nasıl kullanacağımız konusu sonuç olarak hedeflerinize bağlı olarak değişiklik göstermektedir. JS ile çalışmak bir web sayfasında “bir şeyler gerçekleştirmeniz” anlamına geliyor. Sayfalardaki davranışları kontrol etmesi anlamı ifade ediyor.
Bir elementin tanıtılması, elementin kaldırılması(veya gizlenmesi) veya benzeri şeyler olabilir. Ardından web gelişti ve tarayıcılardan sunucuya asenkron çağrı yapabildiler, yanıt(response)ları işleyip bu yanıta dayalı olarak sayfanın durumunu değiştirebilme gibi işlemler yapabilme yeteneğini kazandılar.
Ajax teknolojisinden bahsetmeden olmaz. JS’nin sayfayı barındıran sunucuya çağrı yapması ve sayfayı yeniden yüklemeden tüm aldığı yanıtları işleyebilmesi için bir yoldur. Örneğin, bir arama yapacağımız zaman anahtar kelime girdiğimizde arama çubuğunun alt kısmında çıkan sonuçlar bunun bir eseridir. Farkındaysanız enter’a basmadan sunucudan herhangi bir sayfa karşımıza çıkmıyor.
Google, V8 olarak bilinen oldukça ileri düzey bir JS sözdizimsel analiz motoru geliştirdi. Diğer tarayıcılar da en iyi JS performansını sağlamak için çalışmaktadır.
Artık Node.js gibi araçları kullanarak sunucu üzerinde(server-side) JS yazabiliyoruz. Dahası mobil aygıtlarımız üzerinde çalışan karma uygulamaları(hybrid applications) bile yapabiliyoruz. Buda telefonlarımızı, tablet bilgisayarlarımızı ve masaüstü bilgisayarlarımızı JS kullanarak çözümler üretebileceğimiz anlamına geliyor.

Hangi Kütüphaneler ve Framework Kullanılabilir?

JavaScript’i kullanmaya başlamayı hedefleyen kişileri hedef aldığını söylemiştik. Dilin nasıl yapılandırıldığına ve nasıl çalıştığına dair temel bir anlayışa sahip olduğunuza göre artık web ve/veya uygulama geliştirmeyi kolaylaştırmak için sunulan kütüphanelere ve framework’lere bakmanın zamanı geldi.

JS öğrenmeye başlayınca bu araçlardan bazılarını kullanmaya başladıkça ve sevdiğiniz uygulamaları yaptıkça ne kadar popüler olduklarını göreceksiniz.
Exit mobile version