Javascript Nedir?

Javascript Nedir? 24 Eylül 2026
Javascript Nedir?
İçindekiler

    JavaScript, ilk bakışta web sayfasına hareket katan dil gibi görünür. Bir menünün açılması, formun hatayı anında göstermesi, sayfanın yenilenmeden veri getirmesi… Bunların hepsi JavaScript ile yapılır. Fakat bugün JavaScript’i sadece tarayıcı içinde çalışan bir dil diye tanımlamak eksik kalır.

    Aynı dille web arayüzü, API, gerçek zamanlı uygulama, mobil uygulama ve masaüstü programı geliştirebiliyoruz. Bu kadar farklı yerde kullanılabilmesinin sebebi tek bir teknolojinin her işi mucizevi biçimde çözmesi değil; JavaScript etrafında yıllar içinde oluşan çok güçlü ekosistem.

    JavaScript ne işe yarar?

    Bir web sayfasını üç parçaya ayırabiliriz:

    • HTML, içeriğin ve iskeletin kendisidir.
    • CSS, görünümü düzenler.
    • JavaScript, sayfanın davranışını yönetir.

    Kullanıcı bir ürünü sepete eklediğinde sayının değişmesi, arama kutusuna yazdıkça sonuçların gelmesi veya haritanın sürüklenmesi JavaScript’in alanıdır. Tarayıcıdaki JavaScript kodu, kullanıcıyla etkileşime göre çalışır; gerektiğinde sunucudaki API’ye istek gönderir ve gelen veriyi ekrana yansıtır.

    Bu, JavaScript’in hâlâ en yaygın kullanım şekli. Ancak dil artık tarayıcının dışına çoktan çıktı.

    JavaScript’in kısa tarihi: tarayıcı betiğinden platforma

    JavaScript, 1995’te Netscape’te Brendan Eich tarafından, web sayfalarına basit etkileşimler eklemek amacıyla geliştirildi. İlk adı Mocha, sonra LiveScript’ti. Java’nın o dönemki popülerliğinden yararlanmak için JavaScript adı seçildi; iki dilin isim benzerliği dışında aynı dil ailesinden geldiği düşünülmemeli.

    Tarayıcı üreticilerinin farklı uygulamaları yüzünden ilk yıllar oldukça dağınıktı. Bu sorun, dilin ECMAScript adıyla standartlaştırılmasıyla zamanla azaldı. JavaScript dilin yaygın adı, ECMAScript ise standardın adıdır.

    2000’lerde Ajax yaklaşımıyla sayfayı baştan yüklemeden veri almak yaygınlaştı. Gmail, Google Maps gibi uygulamalar insanların webden beklentisini değiştirdi. 2008’de V8 JavaScript motorunun çıkması ise önemli bir dönemeçti: JavaScript daha hızlı çalışmaya başladı ve Node.js’in önünü açtı.

    2015’te gelen ECMAScript 2015 (ES6) ile let, const, class yapısı, modüller, arrow function ve Promise gibi bugün doğal kabul ettiğimiz pek çok özellik eklendi. O noktadan sonra JavaScript, küçük kod parçalarından ibaret bir araç olmaktan çıktı; büyük uygulamalar için de ciddi bir seçenek haline geldi.

    Vanilla JavaScript nedir?

    Vanilla JavaScript, herhangi bir framework veya kütüphane kullanmadan, doğrudan tarayıcının sunduğu JavaScript API’leri ile kod yazmaktır. Butona olay dinleyicisi eklemek, form verisini almak veya sayfadaki bir öğeyi değiştirmek için React ya da Vue şart değildir.

    Küçük sitelerde, birkaç etkileşimli bileşende ve performansın çok kritik olduğu yerlerde Vanilla JavaScript gayet mantıklı. Birçok projede ihtiyaç duyulan şey de aslında budur. Sırf yapılabiliyor diye basit bir iletişim formuna büyük bir frontend framework’ü eklemek, bakım yükünü gereksiz artırabilir.

    Öte yandan ekran sayısı, kullanıcı durumu ve veri akışı arttığında arayüzü elle yönetmek zorlaşır. Framework’ler bu noktada devreye giriyor.

    React, Vue ve Angular: frontend tarafı

    Bu üç isim sıkça “JavaScript framework’ü” diye birlikte anılıyor; fakat yaklaşımları farklı.

    React

    React, kullanıcı arayüzü oluşturmak için kullanılan bir kütüphane. Arayüzü küçük bileşenlere bölme yaklaşımı çok güçlü: ürün kartı, arama alanı veya bildirim kutusu kendi başına yönetilebilen parçalar olur. Ekosistemi geniş olduğu için özellikle büyük ekiplerde ve kapsamlı web uygulamalarında sık tercih ediliyor.

    React tek başına bütün uygulama çatısı değildir. Yönlendirme, veri yönetimi ve sunucu tarafı render gibi ihtiyaçlar için ek araçlar seçmeniz gerekir. Bu esneklik avantajdır; ama proje başında doğru tercihleri yapmak da size kalır.

    Vue.js

    Vue.js, daha kademeli ilerleyebilen bir yapı sunuyor. Mevcut bir HTML sayfasına küçük bir bileşen olarak eklenebilir, istenirse tam kapsamlı bir uygulamanın temeli de olabilir. Şablon yapısı HTML’e yakın olduğu için özellikle frontend’e yeni başlayanların daha rahat bulduğu bir seçenek.

    Ben Vue’yu, arayüzü hızlıca toparlamak istediğiniz ama proje yapısını tamamen size bırakmayan dengeli bir araç olarak görüyorum.

    Angular ve AngularJS

    Angular, Google tarafından geliştirilen, daha kapsamlı ve kurallı bir framework. TypeScript kullanımı, dependency injection, form, routing ve test yaklaşımıyla kurumsal uygulamalarda ihtiyaç duyulan pek çok şeyi standart hale getiriyor.

    Burada isim karmaşası var: AngularJS, Angular’ın eski 1.x sürümünün adıdır. Bugün yeni bir proje için anlatılan Angular, bu eski sürümün devamı olarak geliştirilmiş ama teknik olarak farklı bir framework’tür. Mevcut bir AngularJS projesini devralmadıkça, yeni projede güncel Angular’ı değerlendirmek gerekir.

    Bu düzen büyük ekipler için kıymetli; herkesin aynı yapıya uyması kod tabanını uzun vadede daha okunur tutuyor. Fakat küçük bir proje için başlangıç maliyeti React veya Vue’ya göre daha yüksek olabilir.

    Burada tek bir “en iyi” seçenek yok. Mevcut ekibin bilgisi, projenin büyüklüğü ve bakım planı daha belirleyici. Yeni bir işe başlarken popüler olanı değil, sürdürebileceğiniz yapıyı seçmek daha doğru.

    Node.js ve Express.js: JavaScript backend’de

    Node.js, JavaScript’in tarayıcı dışında, sunucuda çalışmasını sağlayan çalışma ortamıdır. JavaScript dili değildir; JavaScript kodunu sunucu tarafında çalıştırır. Böylece frontend ve backend tarafında aynı dili kullanmak mümkün olur.

    Node.js özellikle çok sayıda ağ isteği alan API’ler, gerçek zamanlı bildirimler, sohbet uygulamaları ve veri aktarımı yoğun servislerde güçlü bir seçenek. Asenkron çalışma modeli sayesinde, bir veritabanı veya başka servis yanıtı beklenirken diğer istekleri karşılamaya devam edebilir.

    Bu, Node.js’in her proje için otomatik olarak en hızlı seçim olduğu anlamına gelmiyor. Uzun süren, işlemciyi yoğun kullanan işler ana süreci meşgul edebilir. Görsel işleme, büyük rapor üretimi veya ağır hesaplama gibi görevleri kuyruk, ayrı servis ya da uygun worker yapısıyla tasarlamak gerekir.

    Express.js ise Node.js üzerinde web uygulaması ve API geliştirmeyi kolaylaştıran hafif bir framework. Bir URL’ye gelen isteği karşılamak, middleware eklemek, JSON döndürmek ve hata yönetimi yapmak için temel bir iskelet sunuyor. Node.js’in esnekliğini sevip uygulama için sade bir başlangıç isteyenler açısından hâlâ çok kullanışlı.

    Node.js projesini yayına alırken yalnızca dosyaları sunucuya yüklemek yetmez. Uygulamanın çalışacağı Node.js sürümü, bağımlılıkların kurulumu, ortam değişkenleri ve sürecin ayakta kalması planlanmalıdır. Sürekli çalışan worker’lar, kendi servislerinizi kurma ihtiyacı veya yüksek kaynak tüketimi varsa bu yapıyı bulut sunucuda yönetmek daha uygun olabilir.

    JavaScript ile mobil ve masaüstü uygulama geliştirmek

    JavaScript’in eriştiği alan web tarayıcısıyla sınırlı değil.

    Mobil tarafta React Native gibi araçlar, JavaScript ve React bilgisiyle iOS ve Android için uygulama geliştirmeyi mümkün kılıyor. Ortaya çıkan uygulama bir web sitesi değildir; arayüz, platformun yerel bileşenlerini kullanır. Yine de kamera, bildirim veya cihazın özel yetenekleri gibi konularda platform farklarını bilmek gerekir.

    Masaüstünde ise Electron, web teknolojileriyle Windows, macOS ve Linux uygulamaları oluşturmak için kullanılıyor. Kod editörleri, iletişim araçları ve şirket içi paneller için pratik bir yol. Aynı uygulamayı farklı işletim sistemlerinde çalıştırmak ciddi zaman kazandırır. Karşılığında uygulama boyutu ve bellek tüketimi, yerel bir uygulamaya göre daha yüksek olabilir; bunu baştan hesaba katmak gerekiyor.

    JavaScript öğrenmeye değer mi?

    Kesinlikle evet. Çünkü JavaScript öğrenirken sadece bir dil öğrenmiyorsunuz; tarayıcının nasıl çalıştığını, HTTP isteklerini, API’leri, kullanıcı deneyimini ve modern uygulama geliştirmeyi de anlamaya başlıyorsunuz.

    Başlangıçta benim önerim framework seçmeye acele etmemeniz. Değişkenler, fonksiyonlar, diziler, nesneler, modüller, asenkron yapı ve DOM üzerinde rahat çalışın. Sonrasında küçük bir Vanilla JavaScript projesi yapın: yapılacaklar listesi, filtrelenebilir ürün listesi veya basit bir hava durumu ekranı olabilir. Framework’lerin çözdüğü problemi ancak o zaman gerçekten görüyorsunuz.

    JavaScript ekosistemi hızlı değişiyor; her hafta çıkan yeni paketi takip etmeye çalışmak yorucu. Temelleri sağlam tutup kullandığınız araçların dokümantasyonunu düzenli okumak, trendlerin peşinden koşmaktan daha fazla iş görüyor.

    Veridyen Destek

    Hizmetleriniz için 7/24 destek sunuyoruz.

    Veridyen Müşteri Hizmetleri