JavaScript
JavaScript (kısa adı: JS), web sayfalarının tüm web tarayıcılarında çalışabilirliğe ve karmaşık komutları uygulamaya izin veren komut dosyası dilidir. Web sayfalarında dinamik içerik oluşturmada ve yönetmede kullanılan bir programlama dilidir.
JavaScript, web sayfasında slayt gösterisi, animasyon, otomatik metin tamamlama, etkileşimli form gibi fonksiyonlar gerçekleştirilmesini sağlar. Bu programlama dili, web sayfalarını statik yapıdan çıkarak, fonksiyonel ve kullanıcı etkileşimli bir yapıya dönüştürülmesini sağlar. JavaScript, internetin temel teknolojilerinden birisidir.
HTML ve CSS gibi JavaScript de yaygın olarak kullanılır. Ayrıca web sayfalarında HTML ve CSS ile yapılamayan dinamik işlevleri uygulamayı sağlayan JavaScript, HTML ve CSS üzerinde düzenleme (güncelleme/değişim) yapabilir. Web sayfalarının ağırlıklı olarak sayfa eylemlerinde istemci tarafı kullanır. Web sayfalarında istemci tarafı betikler kullanıldığından, çoğu web tarayıcısında JavaScript motoru yer alır (Örneğin, Google Chrome V8 JavaScript motoru “2008”).
İnternetin en yaygın betik dili olan JavaScript, web sayfalarının %97’si tarafından kullanılır. Betik dilin komut dosyaları HTML belge içerisinde gömülü olarak yer alır. Komut dosyaları Belge Nesne Modeli (DOM) ile etkileşim sağlar. JavaScript motorları Android ve iOS web tarayıcılarında (mobil) da yerleşik olarak yer alır.
JavaScript’in tarayıcı dışı kullanımına ilişkin NetScape ve Microsoft tarafından küçük denemeler (NetScape Enterprise Server/Microsoft Internet Information Service) yapıldı. Bu dilin tarayıcı dışı etkin kullanımı ancak Node.js açık kaynaklı yazılımın geliştirilmesiyle mümkün oldu. Node.js, eksiksiz sunucu ve fonksiyonel JavaScript programlama alanı yaratımı için Google V8 motoru ve düşük seviyeli I/O API’si kullanılarak geliştirildi. Geliştirilen yazılımla birlikte sunucu tarafının gelişimini JavaScript ile sağlanarak, kullanıcı bilgisayarı ile sunucu kodları arasındaki veri paylaşımını pratik hale getirildi.
JavaScript ve Java farkı
JavaScript NetScape’nin, Java ise Oracle’nin birbirinden bağımsız geliştirdiği dillerdir. JavaScript Java’nın sözdizimi ve standart kitaplığından esinlenerek geliştirildi. Betik dilin adı, şirket politikası gereğince kullanıldı. Diller arasında sözdizimi ve dil adı yönünden önemli benzerlikler bulunur. Ancak iki dil, birbirinden ayrıdır ve ciddi yapısal farklılıklar vardır.
Java ile küçük uygulamalar ve bağımsız uygulamalar oluşturulabilir. JavaScript’te böyle bir özellik bulunmaz. JavaScript OOP (Nesne Yönelimli Programlama) betik dilidir. Java OOP programlama dilidir..
JavaScript tarihçesi
1993 yılında ilk grafik kullanıcı arayüzüne sahip Mosiac piyasaya sürüldü. 1994 senesinde ise Mosiac web tarayıcısını geliştiren ekibin önemli isimleri tarafından Netscape şirketi kuruldu ve “Netscape Navigator” ismiyle yeni bir web tarayıcısı kullanıcıya sunuldu. Her iki tarayıcıda web sayfalarının sadece statik olmasına izin veriyor ve dinamik eylem kabiliyeti barındırmıyordu.
1995’te Netscape, Navigator tarayıcısında Sun Microsystems ile ortak çalışma yürüterek, tarayıcıya dinamik sayfa fonksiyonunun kazandırılması için bir proje başlattı. Şirket bu projeyle aynı dönemde bünyesine Brendan Eich’i de dahil ederek, tarayıcıya “Scheme” dilinin eklenmesi üzerine ayrı bir proje daha yürütüyordu. Şirket yönetimi projelerde gelinen noktada ağırlıklı Java programlama diline benzeyen yeni bir dil tasarlanmasına karar verdi.
Netscape’nin talebiyle Brendan Eich tarafından yaratılan yeni programlama dili 1995 senesinin Eylül ayında Navigator Beta sürümünde “LiveScript” ismiyle kullanıldı. Ancak 1995’in Aralık ayında yayınlanan resmi Navigator sürümünde programlama dili için JavaScript adı kullanıldı. Netscape’nin bu yaklaşımı, o dönem yeni yükselen Java programlama dilinin popülerliğinden faydalanma olarak değerlendirildi. Daha sonraki dönemde Brendan Eich tarafından JavaScript’te yer alan bazı sözdizimi ve işleyici isimlerinin HyperTalk’tan etkilendiğini açıklamıştır.
2009’da Oracle ile Sun Microsystems arasında yapılan anlaşmayla Oracle, Sun’un tüm hisselerini satın aldı. Sun’ın satışıyla beraber JavaScript, Oracle Corporation’a geçti.
Microsoft ile JavaScript ilişkisi
1995’te ilk web tarayıcısı Internet Explorer’ı kullanıma sunan Microsoft, Netscape’nin karşısındaki en güçlü rakip oldu. Netscape’nin JavaScript hamlesi üzerine Microsoft, Navigator’un yorumlayıcısında “tersine mühendislik” gerçekleştirerek, JScript’i geliştirdi.
JScript, Internet Explorer’ın 1996 sürümünde kullanıldı. Microsoft aynı sürümde ilk CSS desteği ile HTML uzantılarını da yayınladı.
JScript ve JavaScript farkı
JScript, Microsoft tarafından JavaScript’in tersine mühendislikle yorumlanması sonucunda geliştirilen ve Internet Exporer’da kullanılan ECMAScript standardı komut dosyası yazma dili lehçesidir. JScript ilk defa 1996’da Internet Explorer 3.0 web tarayıcısıyla kullanıma sunuldu.
Web sayfalarının iki programlama dilinden birini kullanmak zorunda olması o dönemde sorunlara neden oldu. Sorunun giderilmesi maksadıyla ECMAScript standardı oluşturuldu. Böylece tüm web sayfalarının hangisini kullandığı fark etmeden tüm web tarayıcılarında çalışabilir hale geldi. Microsoft JScript 10.0 versiyonuyla standarttan ayrılmıştır. Bu versiyon .NET şeklinde ayrı bir lehçe olarak kabul edilir.
ECMAScript standardizasyonu
Microsoft’un kendi yorumlayıcısını kullanması, Navigator’da JavaScript yorumlayıcısının kullanımı ise web sayfalarının her iki tarayıcıda birden açılmasını olanaksız hale getirmişti. Son kullanıcı cephesinde ciddi sorunlara neden olan bu duruma karşı ilk adım Netscape’den geldi. 1997 senesinde ECMA International standartlar organizasyonu toplantısı gerçekleştirildi. Toplantıda ECMAScript ile standartlaştırma sağlandı ve web tarayıcıları arasındaki uyumsuzlukların belirli bir düzene getirildi.
ECMAScript, standardizasyon sağlayan bir komut dosyası dilidir. 1997’den beri farklı versiyonları yayınlanan ECMA-262 belgesine bağdaşıktır. Programlama dilinde standardizasyon oluşturarak, web sayfalarının tüm web tarayıcılarında çalışabilirliğini sağlayan “JavaScript” standardı olarak kabul edilir.
ECMAScript dosya uzantısı “.es” şeklindedir.
JavaScript nasıl çalışır?
JavaScript, web sayfalarının otomasyon denetimini sağlar. Oluşturulan komut dosyasıyla web sayfasının hangi “dinamik” eylemi gerçekleştirileceği belirtilir. Web tarayıcılarında yer alan JavaScript oluşturma fonksiyonu (motoru), HTML belgesine gömülü JavaScript kodlarını okur. Web tarayıcılarında JS kodları ekstra yazılıma gerek olmadan kullanılabilir.
Web sayfasına JavaScript eklemek için “script” etiketiyle yazılarak, “text/javascript” type niteliği verilmelidir. Örneğin;
function factorial(n) { if (n === 0) return 1; // 0! = 1 return n * factorial(n - 1);}factorial(3); // returns 6