Teknoloji Forumu

Javascript Nedir? Ne İşe Yarar?

Javascript web sayfalarını dinamik ve interaktif hale getiren bir script dilidir. 2019 yılında dünya genelinde geliştiricilere uygulanan bir ankette 67.8% oranında en çok kullanılan programlama dili olarak seçilmiştir. Javascript (kısaca JS) neden bu kadar popüler, onu özel yapan konu ne yazımızda sizlere aktarmaya çalışacağız.

Öncelikle Javascript’in çıkış noktasına gidiyoruz, o halde sene 1995 ve Netscape’deyiz.

netscape tarayıcısı

Javascript’in Çıkış Noktası

1990’ların ortasında web tarayıcıları piyasasında iki önemli isim vardı: Netscape ve Microsoft. (Internet Explorer ve NetScape Navigator.) Bu iki dev teknoloji firması arasındaki rekabet yeni teknolojileri de beraberinde getirdi. Netscape’in kurucusu Marc Andreesen, internet dünyasının daha dinamik olması gerektiğini düşünüyordu. Bu nedenle Netscape, onlar için çalışmakta olan Brendan Eich’e bir görev verdi. Görev, web sayfalarında etkileşimi sağlayan bir programlama dili geliştirmesiydi. 10 günlük sürenin ardından Javascript dili ortaya çıkmış oldu.

Javascript Adını Nasıl Aldı?

Javascript her zaman bu isimle anılmıyordu. İlk başta ismi Mocha’ydı. Ardından 1995 yılında LiveScript oldu. Üzerinden çok zaman geçmeden aynı yıl içerisinde Sun şirketi tarafından patenti alındığında Javascript adını almış oldu. Bu o zamanlar Java’nın popüler olmasından kaynaklı stratejik bir hareketti. Yoksa Java ve Javascript’in herhangi bir bağı olmadığının altını çizelim.

Java’nın popüler olduğunu dile getirmiştik. Özellikle büyük uygulamalarda ilk tercih olacak kadar piyasaya hakimdi. Fakat Java’nın yapısı dinamik bir web için yeterli değildi. Açılır menüler, formların aktif bir hale getirilmesi için bir başka dile ihtiyaç ortadaydı. Javascript’in ortaya çıkış amacı buydu.

Ortaya çıktığı andan itibaren hep sevildiğini söyleyemeyiz. Hatta ilk piyasaya sürüldüğünde aldığı nefret yıllarca devam etti. Bu nefretin bir nedeni vardı elbette. Java adı altında çıkmış olması onu sıkça bu dille karşılaştırmaya itmiş, Java’nın yetersiz bir alt sürümü olarak isimlendirilmişti. 10 gün içerisinde piyasaya sürüldüğünden gelişimini çok sonradan yakaladı. İlk başlarda eksiklikleri vardı. Geliştiriciler Javascript’i tasarımcıların ve mühendis olmayanların kullandığı bir dil olarak sınıflandırıyorlardı. Fakat zamanla interaktif, dinamik bir web sitesinin önemi anlaşıldığında JS de hak ettiği değere kavuşmuş oldu.

Javascript’in yaşadığı en büyük ivmelerden biri Ryan Dahl’ın Node.js’dir. Node.js sayesinde javascript tarayıcı dışında da çalıştırılabilir bir hale geldi. Bunu anlaşılır kılmak için iki kavramı ele alalım.

Sunucu taraflı ve istemci taraflı kavramları:

İstemci taraflı (client side) demek kullanıcının bilgisayarında çalışabilen/okunabilen kod demektir. Öte yandan sunucu taraflı (server side) ise kodun bir web sunucusunun üzerinde çalışması demektir.

Python, Java, Ruby gibi dillerde yazılmış kodların çalışabilmesi için bir sunucuya bağlanması gerekmektedir. Öte yandan Javascript sizin kişisel bilgisayarınızda herhangi bir eklenti olmadan çalışabilir. Javascript’i diğerlerinden ayıran budur.

Node.js’in ortaya çıkmasıyla Javascript sunucu taraflı da çalışabilen bir dil haline geldi. Node.js’in burada katkısı Javascript’in çalışabilmesi için bir ortam hazırlamasıdır. Bu sayede kişi bir proje geliştirirken hem sunucu hem de işlemci tarafında Javascript kullanabilecektir. Böyle bir gelişme ile Javascript daha sık kullanılmaya başladı.

Javascript Nedir?

Javascript’in web sitelerini dinamik bir hale getirdiğini dile getirmiştik. Peki bunu nasıl yapıyor? Dinamikten kastımız ne? Bunu ele alalım.

Bir web sayfasının ön yüzünün iskeletini oluşturan iki yapı vardır: HTML ve CSS. Başlığımız Javascript olsa da bu iki yapıya değinmekte fayda var. Bir web sitesini ele alalım. Başlıkları, paragraflardan oluşan içerikleri, listeleri, ikonları bulunmakta. Bunları yazmamıza yardımcı olan HTML. Öte yandan bu saydıklarımızın rengi, büyüklüğü, arka planı olup olmaması gibi özellikleri var. Bu konuda da CSS devreye giriyor. HTML ile bir tablo yaratıyoruz ve o tabloyu boyamak için CSS’i kullanıyoruz. Sadece bu ikisini kullandığımız web siteleri ve içerikleri statik olmaktadır. Kullanıcı ile bir etkileşime girmezler. Javascript’in ortaya çıkma nedeni ve günümüzde bu kadar kullanılma nedeni de dinamik web site yaratma ihtiyacıydı.

javascript örneği

Bu sayede örneklerde de gördüğümüz gibi kullanıcı ile interaktif hale gelmiş web siteleri görmeye başladık.

Javascript Ne İşe Yarar?

  • Kullanıcı ile etkileşime girer, mouse hareketleri ya da klavye girdilerine göre hareket edebilir.
  • Başka sunuculara istekte bulunabilir, dosya yüklenebilir veya indirilebilir.
  • Sayfayı ziyaret eden kişiye mesajlar gösterebilir, sorular sorabilir.
  • İşlemci taraflı veriyi hatırlayabilir.
  • HTML ve CSS bir bütün olarak çalışabilir.
  • Basit işlemlerin basit bir şekilde yapılmasını amaçlar.
  • Neredeyse her internet tarayıcısı üzerinde çalıştırılabilir.

Javascript Neden Bu Kadar Popüler?

javascript

Zaman içinde hem çok sevilip hem nefret edilen Javascript’in günümüzde neden bu kadar popüler olduğunu anlatalım şimdi. Tüm web tarayıcıları üzerinde çalıştığını söyledik. Hemen hemen gördüğünüz tüm web sitelerinde JS bulunmakta. Bununla birlikte öğrenmesi oldukça kolay bir dil. Basit yapısıyla programlamaya yeni başlamış birinin öğrenmekte zorlanmayacağını söyleyebiliriz. Kolay olduğu kadar hızlı olduğunu da söylemeliyiz. Javascript istemci tarafında çalışan, web sayfalarını dinamik hale getiren bir dil ve de bu konuda hızlı olması önemli.

Bunlarla birlikte Javascript yeni eklentilere oldukça elverişli bir dil. Bu doğrultuda Javascript baz alınarak geliştirilmiş çok fazla framework (çatı) ve kütüphane mevcut. JS, dinamik bir web sayfası ihtiyacı için geliştiriciye her imkanı sunmakta.

JQuery bu framework’lere örneklerden biri ve de sitemizde detaylı bir şekilde okuyabilirsiniz.

Teknoloji'den geri kalmamak için e-posta listemize abone olun!

teknoloji, hayal gücü ve sanat dünyalarını seven, üçünü bir araya getirmeye hevesli bir bilgisayar mühendisliği öğrencisi.


Yorum yapın