JavaScript Programlama

JavaScript Nedir?

JavaScript

 

JavaScript Netscape firması tarafından geliştirilmiş olan bir script dilidir. Js bize etkileşimli ve dinamik web sayfaları hazırlama imkânı vermektedir. İsim olarak Java’ya benzese de Java ve JavaScript birbirinden farklı teknolojilerdir.


Geçmişten Günümüze Js

JavaScript, bir Netscape çalışanı olan Brandan Eich tarafından 1995 yılının Eylül ayında 10 günlük bir süre içerisinde oluşturuldu. İsmi ilk olarak Mocha idi ve dilin adı daha sonraları Mona ardından da JavaScript olmadan hemen önce LiveScript adını aldı. Dilin ilk sürümleri özellikle Netscape’ye özgü idi ve sınırlı işleve sahipti ancak zaman içinde geliştirici topluluğunun da yardımıyla büyümeye devam etti.

1996 yılında Js resmi olarak ECMAScript adını aldı ve ECMAScript 2 1998’de, ECMAScript 3 ise 1999 yılında geldi. Bu da günümüzün JavaScript’ine evrildi ve sadece farklı tarayıcılarda çalışmanın dışında aynı zamanda mobil ve masaüstü bilgisayarlar gibi farklı cihazlarda da çalışıyordu.

Js o günden beri büyümeye devam etti ve 2016 yılı itibariyle Web sitelerinin %92’si JavaScript kullanmaya başladı. Sadece 20 yıl içerisinde ilkel bir dil halinden dünyanın en popular dili olmayı başardı. Eğer İnternet kullanıyorsanız, mutlaka JavaScript ile karşı karşıya gelmişsinizdir.


JavaScriptin Özellikleri

  • Js yorumlamaya muhtaç bir dildir. Kullanıldığı browser yazılan bu programı kendi özelliklerine göre yorumlayacaktı
  • Js HTML kodları arasına gömülebilir. Yani istenirse direkt olarak bir HTML dosyası ile iç içe kullanılabilir.
  • Bir Script dili olduğundan dolayı esnek bir dildir. Diğer programlama dilleri gibi katı kuralları yoktur. Bu nedenle esnek bir şekilde kullanılabilir.
  • Her ne kadar esnek bir programlama dili olsa da ufak hatalar bile kodlarınızın çalışmasını engelleyebilir. Mesela bir parantez eksik yazıldığında kodunuz hatalı çalışacaktır.
  • Js programları bir hareket halinde işler. Mesela bir tuşa tıklanması, belli bir zamanın gelmesi gibi. Bir hareket (olay) olmadığı zaman Js bir şey yapmaz.
  • Js nesne yönelimli bir dildir. Program içinde her kullandığı birimi bir nesne olarak görür ve ona göre davranır. Mesela Browser Js için bir nesnedir veya form Js için bir nesnedir.

JavaScript Nerelerde Kullanılır?

  • Js genel olarak Web programlama için kullanılır.
  • Js ile kullanıcı girdisini işleyen ya da özel nesneler, dosyalar ve ilişkisel veritabanlarını kullanarak sürekliliği olan verileri yöneten dinamik HTML sayfaları oluşturulabilir.
  • Js kodları olaylara erişip onları kontrol edebilir. Bir sayfanın yüklenmeye başlaması ve yüklemenin bitmesi, kullanıcının bir yere tıklamasıyla gelişen olayı kontrol edebilir.
  • Önceden sadece istemci tarafından kullanılsa da artık sunucu tarafından da kullanılmaktadır.
  • Unity oyun motorunda da JavaScript kodları ile bazı kodlamalar yapılabilir.
  • Js HTML bileşenlerini okuyabilir ve yazabilir. JavaScriptler aynı zamanda okudukları HTML bileşenlerine müdahale de edebilirler.

JavaScript İle Neler Yapılabilir?

Javascript yardımı ile HTML kaynak kodları değiştirilebilir, bu sayede üstteki paragrafta da bahsettiğim gibi dinamik web sayfaları hazırlamamız mümkün oluyor. JavaScript kullanılan web sayfalarını düzgün görüntüleyebilmek için tarayıcınızın JavaScript desteğine sahip olması gerekmektedir. Günümüzde güncel tarayıcıların hepsi JavaScript desteklemektedir.


JavaScript Nasıl Kullanılır?

JavaScript HTML kodları içerisinde <script></script> tagları içerisinde kullanılacağı gibi harici bir .js uzantılı dosya olarak da sayfaya sonradan çağrılabilir.


Avantajları Nedir?

JavaScript’in rakipleriyle karşılaştırıldığında çeşitli avantajları bulunuyor, özellikle de belirli alanlarda. JavaScript avantajlarından bazıları şu şekildedir:

  1. JavaScript kodlarınızı derlemeniz için herhangi bir derleyici kullanmanız gerekmez çünkü web sayfalarını çalıştıran tarayıcılar zaten derleyici görevi görmektedir.
  2. Diğer yazılım dillerine oranla daha kolay anlaşılabilen bir dildir.
  3. Hatalar ve açıklamaları diğer dillere oranla daha anlaşılır ve net olduğu için bu hataların çözümleri için de diğer dillere oranla daha az vakit kaybedersiniz.
  4. Belirli web sayfası ögelerine veya özel durumlara ayarlanabilir. Örneğin, fare tıklaması veya imleci üzerine getirme gibi.
  5. JS birden fazla platformda, tarayıcıda çalışabilir;
  6. JavaScript kullanarak input değerlendirebilir ve kontrol edebilirsiniz.
  7. Web siteleri daha interaktif yapar ve ziyaretçilerin dikkatini çeker;
  8. Diğer yazılım dillerinden daha hızlı ve hafiftir
  9. Sunucuyla Minimum Etkileşimi

Eğer bir internet sitesinin performansını yükseltmek istiyorsanız bunu yapabilmenin en iyi yolunun sunucuyla iletişimi azaltmak olduğu iyi bilinen bir gerçek. JavaScript bu noktada kullanıcı girdisini istemci tarafında (client-side) onaylayarak yardımcı oluyor. Talepleri sunucuya sadece ilk doğrulama kontrollerini çalıştırdıktan sonra gönderiyor. Bunun sonucunda kaynak kullanımı ve sunucuya gönderilen talep miktarı önemli ölçüde azaltılıyor.

  • Kullanıcıya Anında Dönüş

JavaScript kullanarak kullanıcıların anında yanıt almalarını sağlayabilirsiniz. Örnek olarak form dolduran bir kullanıcı hayal edelim ve alanlardan bir tanesini boş bırakmış olsun. JavaScript doğrulaması olmadığında, bir alanı boş bıraktıklarını anlayabilmeleri için sayfanın tekrar yüklenmesini beklemeleri gerekiyor. Ancak JavaScript ile anında uyarılırlar.

  • Kolay Hata Ayıklama

JavaScript yorumlanan (interpreted) bir dildir. Bunun anlamı, yazılan kodun her bir satırı şifre çözülür gibi çözüldüğüdür. Herhangi bir hata ortaya çıktığında, sorunun tam olarak hangi satır numarasında olduğunu görebilirsiniz.


Dezavantajları nedir?

Aklınıza gelen bütün yazılım dillerinin bazı zayıf yanları bulunur. Sorunun bir bölümü de, bir yazılım dili Js gibi popular olduğunda saldırganların, dolandırıcıların ve diğer zararlı üçüncü partilerin de ilgisini çekiyor ve güvenlik açıklarının peşine düşülmesinden kaynaklanıyor. Js programlama dilinin bazı zayıflıkları şu şekildedir:

  1. Açıklara karşı zayıftır;
  2. Kullanıcı bilgisayarlarında zararlı kod çalıştırmak için kullanılabilir;
  3. Her zaman farklı tarayıcı ve cihazlar tarafından desteklenmez;
  4. JS kodları oldukça büyüktür.
  5. Farklı cihazlarda farklı çalıştırılabilir bu da tutarsızlığa sebep verebilir.

Diğer Yazılım Dillerinden Nasıl Ayrılır?

JavaScript’in en popular yazılım dillerinden birisi olmasının sebebi, oldukça çok amaçlı olmasıdır. Çoğu geliştirici ilk olarak Js’e başvurur ve sadece belirli farklı bir özelliğe ihtiyaç duyulması durumunda diğer dillerden yardım alır. Şimdi diğer bazı popular yazılım dillerine göz atalım.


“Hypertext Markup Language” kısaltması olan HTML internetteki en popular yazılım dillerinden birisidir ve bir web sayfasının yapı taşlarından birisidir. HTML etikerlerine örnek olarak paragraflar için <p>, görseller için ise <img> gösterebiliriz.

Eğer yazılımcılığı bir bina inşa etmek gibi düşünürsek, HTML binanın yapısını, duvarların ve kapıların nerede olacağını belirler, CSS ise kilimleri, duvar kağıtlarını yönetir ve bir nevi dekoru temsil eder. JavaScript ise etkileşim sağlar, yani kapıları ve ışıkları kapatıp açabilirsiniz. JavaScript olmadan da bunları yapabilirsiniz ancak Web siteniz 1995 yılından kalma bir yapıta benzeyebilir.


PHP, Js’in aksine sunucu bazlı çalışan bir dildir. Genellikle WordPress gibi PHP tabanlı içerik yönetim sistemlerinde görülür ancak aynı zamanda back-end geliştirme içinde yaygın olarak kullanılır çünkü veri transferi için kusursuz bir yöntemdir.


CSS “Cascading Style Sheets” kısaltmasıdır ve web masterlara stil oluşturma ve farklı içerik türlerinin gösterilme şeklini ayarlama şansı tanır. Bunu HTML’de her bir öğe için manuel olarak yapabilirsiniz ancak CSS ile yaparak aynı şeyi tekrar tekrar yazmaktan kurtulur ve zamandan tasarruf sağlarsınız.


Bir Web Sitesine Nasıl JavaScript Eklenir?

Bir web sayfasına JavaScript kodu ekleyebilmek için <script> etiketi kullanmalısınız. Aşağıdaki örneği kullanarak pratikte bunun neye benzediğini görebilirsiniz:

Genel bir kural olarak JavaScript kodunu web sitenizin <header> etiketleri içinde konumlandırmalısınız. Tabi belirli bir zaman veya belirli bir web sayfası öğesiyle çalıştırılması gerekmeyen durumlarda. Aynı zamanda JavaScript kodunu farklı dosyalarda barındırtarak, web sitenizde sadece ihtiyaç olduğunda çalıştırılmasını sağlayabilirsiniz.


JavaScript Kodunu Ayrı Bir Dosyaya Ekleme

Bazen JavaScript’i HTML dosyasına doğrudan eklemek en iyi fikir olmayabilir. Bunun sebebi JS script’lerinin birden fazla sayfada kullanılması gereksinimidir, bu gibi durumlarda JavaScript kodunu farklı dosyalarda tutmak daha mantıklıdır. Bu yüzden JavasScript’i, HTML’e harici dosya alımı yöntemiyle eklemek daha kabul edilebilir bir durumdur. Bu dosyalara HTML belgelerinin içerisinden referans verilebilir, tıpkı CSS dosyalarına referans verdiğimiz gibi. JS kodunu ayrı dosyalarda tutmanın bazı avantajları şunlardır:

  • HTML kodu ve JavaScript kodu ayrıldığında, bir tasarım ilkesi olan “kavramların ayrılığı” sağlanmış olur ve bu sayede her şey daha sürdürülebilir ve tekrar kullanılabilir hale gelir.
  • Kod okunabilirliği ve bakımı çok daha kolaylaşır.
  • Önbelleğe alınan JavaScript dosyaları, sayfaların yüklenme süresini azaltarak internet sitesinin performansını arttırır.

JavaScript dosyasına HTML içinden şu şekilde referans verebiliriz:

 

Not: Burada, myscript.js dosyası HTML dosyası ile aynı klasörde tutulduğu varsayılmıştır.


JavaScript ile Java arasında ne fark vardır?

JavaScript, applet veya bağımsız uygulamalar oluşturmaz. En yaygın biçiminde, JavaScript HTML belgelerinin içinde bulunur ve web sayfalarında basit HTML ile ulaşılamayan etkileşim düzeyleri sağlar.

JavaScript ile Java arasındaki fark özetlenecek olursa;

  • Java nesne yönelimli programlama dilidir. JavaScript ise nesne yönelimli scripting dilidir.
  • Java sanal makinada ya da tarayıcıda çalışabilen uygulamalar yaratabilir. JavaScript kodları ise sadece tarayıcılarda çalışır.
  • Java kodunun derlenmesi gerekir, JavaScript kodları ise tamamen yazı şeklindedir.
  • Her iki dil de farklı eklentilere ihtiyaç duyar.

Bonus

Yazılım Atölyesi ailesine özel, sınırlı sayıda “Sıfırdan ReactJS ve Context Api” kursu hediyenizi almak için aşağıdaki görsele tıklayabilirsiniz. 

Yazar Hakkında

Furkan Güleçer

Yorum

Yorum yap

This site uses Akismet to reduce spam. Learn how your comment data is processed.