Web alanında hangi işi yapıyorsanız yapın javascript olmazsa olmaz bir dil konumunda. Bu yazımızda javascript hakkında her şeyden bahsedeceğiz. Ama konu çok geniş olunca her detayı da tek tek incelemek için tek bir yazı yeterli olmayacaktır. Bu sebeple bu yazımızda kütüphaneler gibi frameworkler gibi konulara değineceğiz ama çok kapsamlı olmayacak. Bunları da ayrı yazılarla inceleriz tabii ki. Bu yazımızda bahsedeceğimiz javascript, geliştiriciler tarafından vanilla js olarak tanımlanan versiyon olacaktır.
JavaScript Nedir?
Javascript, client taraflı çalışan bir script dilidir. Script dilini senaryo dili ve betik dili olarak da çeşitli kaynaklarda görebilirsiniz. Kısaca bilgi vermek gerekirse derleme adımı olmadan çalışan programlama dillerine denir. JavaScript’i bazı kaynaklarda bir programlama dili olarak görebilirsiniz ama vanillaJS olarak baktığımızda bir programlama dili olarak isimlendirmek biraz yanlış olacaktır. Çünkü tek başına çalışan bir programı yazmak vanillaJS ile yazamayız.
Javascript, söz dizimi (syntax) yapısı olarak php, java, C/C++ gibi dillerle hemen hemen aynıdır. Bu sebeple eğer bu saydığımız dillerden birinde uzman kişiler vanillaJS yapısını da biliyor denebilir.
Javascript’in kullanım alanı geçmişten günümüze çok fazla değişmiştir. Diğer dillerin aksine çok hızlı bir şekilde gelişmiştir. Web sitelerinin ve web uygulamalarının tamamında kullanılmaktadır. HTML ile gömülü (iç içe) çalışabildiği ve client (tarayıcı) tarafında çalıştığı için son derece hızlı bir dildir.
Javascript kodlarını çalıştırmak için özel bir derleyiciye (programa) ihtiyaç yoktur tüm tarayıcılarda bulunan Javascript Engine (Javascript Motoru) sayesinde komutlar yorumlanarak çalışmaktadır.
Javscript, çalışma yöntemi olarak event (olay) yönelimli programlamayı kullanır. Ayrıca OOP (object oriented programming) nesne yönelimli programlama imlanı da sağlamaktadır. Event’lar (olaylar),sayfanın yüklenmesi, bir butonun tıklanması, bir nesnenin ,üzerine gelinmesi, zamana duyarlı işlemler, mouse (fare) veya klavye tıklanması gibi çok çeşitli işlemler olarak düşünülebilir. Event gerçekleştiği zaman yazılan kodlar tetiklenerek çalışmaktadır.
JavaScript'in Tarihçesi
JavaScript, ilk olarak 1995 yılının mayıs ayında Brendan Eich tarafından geliştirilmiştir. Geliştirme aşamasında Netscape’te çalışmaktaydı. Ve Javascript’in ilk adı Netscape’in kurucusu Marc Andreessen tarafıdan Mocha olarak verilmiştir. Daha sonra ismi Eylül 1995’te Livescript olarak değiştirilmiştir.
Sun Micro Systems tarafından marka lisansı alındıktan sonra Aralık 1995’te ismi Javascript olarak değiştirilmiştir. Bu hamlenin sebebi o dönemde çok popüler olan Java’nın popülerliğinden istifade etmek için yapılan pazarlama hareketiydi. Günümüzde bile hala 2 dilin birbiriyle karıştırılmasına rağmen Java ve Javascript birbirinden tamamen bağımsız ve farklı dillerdir.
Microsoft ve Netscape’in web teknolojileri ve platformları alanında rekabet içerisinde olduğu yıllarda, Netscape Sun Micro Systems tarafından geliştirilen Java’ya destek vererek bir işletim sistemi oluşturmayı istiyordu. Javascript’i ise profesyonel olmayan yazılımcıları hedefleyen daha basit bir betik dili olarak planlanmıştı.
1996 yılında ise, Microsoft VBScript ve JScript ile beraber İnternet Explorer 3.0’ı yayınladı. JScript, Javascript’e benziyordu fakat VBScript, Visual Basic programcıları için geliştirilmişti. Aynı dönemde microsoft ilk defa CSS desteği de sağlamaya başladı. Tüm bu gelişmeler beraberinde daha farklı bir sorun gündeme getirdi. Hem CSS hem de JScript, javascript ile tutarlı çalışmıyordu. Bu durum web geliştiricileri arasında bir kargaşaya sebebiyet verdi. Bunun sonucunda sitelerin altında tipik hale gelen “en iyi internet explorer ile izlenir” ya da “en iyi Netscape ile izlenir” gibi bilgilendirme metinleri ortaya çıkmıştı.
Javascript dili, C, Python, Perl ve Java dillerinden esinlenilerek geliştirilmiştir. C dilinin basitleştirilerek web sayfalarına uyarlanmış sürümü gibi düşünülebilir.
Yine aynı yıl içerisinde Netscape Javascript’in endüstri standartı olarak belirlenmesi amacıyla Ecma International firmasına başvuruda bulunduğunu ilan etti. Bu süreç sonucunda standardize edilmiş sürüm EcmaScript olarak isimlendirildi. Haziran 1997’de ise Ecma International, Ecma-262 ismiyle ilk sürümü yayımladı. Haziran 1998’de ikinci sürümü yayımlandı ve ISO/IEC-16262 standartlarına uygun hale getirildi. Aralık 1999’da üçüncü sürüm yayımlandı. Dördümcü sürüm üzerinde çok fazla çalışmalar yapılmasına rağmen yayımlanamadı ama beşinci sürüm’e büyük ilham kaynağı oldu. Beşinci Sürüm 2009 Aralık’ta yayımlandı. EcmaScript’in 6. versiyonu ile beraber artık günümüzde kullanmaya başladığımız çok daha kapsamlı hale geldi. EcmaScript 6 sonrasında neredeyse her yıl çeşitli güncellemeler ve destekler gelmeye devam etmektedir. Günümüzde 13. versiyonunu kullanıyoruz.
İlk zamanlarında Netscape tarafından desteklenen bu dil günümüzde web tabanlı yazılım geliştirme alanında vazgeçilemeyecek bir noktaya gelmiştir.
JavaScript Kodlarının Sayfaya Eklenmesi
Javascript kodlarının çalışabilmesi için HTML sayfasında eklenmesi gerekmektedir. Bu ekleme işlemini 2 farklı şekilde yapabiliriz.
- Harici bir JS dosyasına referans vererek HTML sayfasına ekleme. Bu yönteme external tanımlama denir.
- HTML dosyasındaki body etiketinin kapanışı öncesine yapılacak olan script etiketiyle ekleme. Bu yönteme internal tanımlama denir. Not: script etiketi sadece body etiketleri içerisinde tanımlanmak zorunda değildir. Ama arama motoru botları (başta google) tarafından öneriler içerisinde body etiketinin kapanışından hemen önce olması sayfa yükleme hızı açısından tavsiye edilmektedir.
JavaScript'in Faydaları
- Etkileşimli web sitelerinin tamamında kullanılmaktadır. Etkileşimli işlemler yapmak için vazgeçilmezdir.
- Çalıştırmak için tarayıcı haricinde bir programa ihtiyaç yoktur.
- Geliştirmek için özel bir IDE'ye ihtiyaç duymaz not defteri tarzı uygulamalarda bile rahatlıkla geliştirilebilir.
- Tamamen Ücretsizdir.
- C/C++, PHP gibi dillerle komut yapısı benzerdir. Bu billeri bilen kişiler tarafından komut yapısı biliyor sayılır ve çabuk öğrenilir.
- Hem Client (Tarayıcı), hem de Server (Sunucu) tarafında çalışabilir.
- Sitelerimizi statik (durağan) yapıdan dinamik (hareketli) hale getirebiliriz.
- Client (tarayıcı) taraflı çalıştığı için Server'a daha az yük getirir.
- En yaygın script dili olduğu için kaynak bulması daha kolaydır.
- OOP (Nesne Tabanlı Programlama) imkanı da sağlamaktadır.
- Dinamik bağlama mekanizması kullanılır. Referanslar run time (çalışma zamanı) kontrol edilir.
- Web sitesi içerisindeki tüm elemanlara müdahale edilebilir.
JavaScript ile Neler Yapılabilir
Javascript çok güçlü bir dil olduğu için yapılabilecek işlemler geliştiricinin hayal gücüne kalmıştır diyebiliriz. Günümüzde gelişmiş yapısı sayesinde hem tarayıcı hem de sunucu tarafında çalışabildiği için sadece javascriptle çalışan bir web sitesi bile yapılabilir.
- Dinamik web siteleri yapılabilir.
- Mobil programlamada kullanılabilir.
- Tarayıcı üzerinde çalışan oyunlar yapılabilir.
- Sunucu taraflı işlemler yapılabilir.
- Asenkron işlemler yapılabilir.
- Sayfa yenilenmeden sunucudan veri talebinde bulunabilir.
- Web sayfalarında çerez işlemleri yapılabilir.
- Animasyon işlemleri yapılabilir.
- Canvas ile çizim, animasyon, uygulama işlemleri yapılabilir.
- Olaya duyarlı işlemler yapılabilir.
- Slayt ve Resim galerileri gibi çalışmalar yapılabilir.
Bu yazımızda VanillaJS olarak da adlandırılan javascript’in en temel versiyonu hakkında genel olarak tüm hatlarıyla bilgilendirme yaptım. Yazıyı daha fazla uzatmamak ve kavramları üst üste eklememek adına Biraz daha ileri seviye olabilecek kütüphane ve framework gibi kavramlara bu yazımızda girmedim. Bu kavramları ve daha ileri seviye kavramlar için yeni bir yazı oluşturacağım. Detayları sosyal medya hesaplarımdan veya sitemin blog kısmından takip edebilirsiniz.
Javascript de dahil olmak üzere %100 öğrenme garantisi verdiğim front-end developer eğitimime buradan erişebilirsiniz. Sınırlı süreli indirim kuponu için de iletişim sayfasındaki form’u doldurarak ya da whatsapp numaramdan bana ulaşabilirsiniz.