Emre

WFN Üye
Konular
1,620
Mesajlar
1,716
Çözüm
0
Ticaret Puanı
0
Üyelik
9 Ay 2 Gün
Konum
Samsun
Web Sitesi
Var
Alanı
WordPress Uzm.
1/1
Konu sahibi
JavaScript, tek başına bir "tarayıcı dili" değildir; Node.js ise aynı dili tarayıcı dışında çalıştıran çalışma ortamıdır. Bu yüzden konu yalnızca isim benzerliği değil, aynı dilin iki ayrı kullanım alanıdır: biri web arayüzü, diğeri sunucu ve komut satırı tarafı.

JavaScript nedir?​

JavaScript’in temel görevi, web sayfalarına hareket ve mantık katmaktır. MDN’nin anlattığı gibi dil, web sayfalarını etkileşimli hale getirmek için kullanılır; butonlara tepki verme, sayfayı güncelleme, kullanıcı girdisini işleme ve benzeri işlerde devreye girer. Daha geniş resimde JavaScript, ECMAScript standardına dayanan bir çekirdek dil olarak düşünülür; tarayıcılar bu çekirdeğin üzerine DOM ve diğer web API’lerini ekler.

Node.js nedir?​

Node.js, JavaScript’i tarayıcı dışına çıkaran açık kaynaklı ve platformlar arası bir runtime’dır. Resmî dokümantasyon, Node.js’in sunucu, web uygulaması, komut satırı aracı ve script üretmek için kullanılabildiğini; ayrıca asenkron ve olay güdümlü bir yapıya sahip olduğunu söyler. Bu yapı, tek bir JavaScript iş parçacığıyla çalışırken I/O işlerini olay döngüsü üzerinden engellemeden yürütmeye dayanır.

Aralarındaki temel fark​

  • JavaScript, kullanılan dilin kendisidir; Node.js ise bu dili çalıştıran ortamdır.
  • Tarayıcı tarafında JavaScript, kullanıcı arayüzü ve DOM ile ilgilenir; Node.js tarafında aynı dil dosya sistemi, ağ ve sunucu işleri için kullanılır.
  • Farkı oluşturan şey dil değil, çalıştığı ortamdır; bu yüzden erişebildiğin API’ler değişir.

Hangi durumda hangisini kullanmalısın?​

  • Kullanıcının tıkladığı butonları, form doğrulamasını, animasyonları ve sayfa içi güncellemeleri yönetiyorsan tarayıcı JavaScript’i uygundur.
  • API yazıyor, dosya okuyor/yazıyor, CLI aracı geliştiriyor veya otomasyon kuruyorsan Node.js doğru seçimdir.

Küçük bir Node.js örneği​

Aşağıdaki örnek, Node.js ile küçük bir HTTP sunucusunun nasıl kurulduğunu gösterir. Resmî dokümantasyondaki örnek mantığa uygun şekilde, bir isteğe yanıt veren temel bir sunucu oluşturur.

JavaScript:
const http = require('node:http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain; charset=utf-8');
  res.end('Merhaba! Bu bir Node.js sunucusudur.');
});

server.listen(3000, '127.0.0.1', () => {
  console.log('Sunucu http://127.0.0.1:3000 adresinde çalışıyor.');
});

Bu dosyayı örneğin app.js olarak kaydedip Node.js ile çalıştırdığında, sunucu 3000 numaralı portu dinler. Tarayıcıdan adresini açtığında ekranda dönen metni görürsün; yani JavaScript artık tarayıcı içinde değil, Node.js çalışma ortamında çalışıyordur.

Sonuç​

Özetle, "js nodejs" ifadesi bir karşıtlık değil, aynı dilin iki farklı çalışma alanını anlatır. JavaScript, web’in etkileşim katmanını kurar; Node.js ise aynı dili sunucu ve araç geliştirme tarafına taşır. Ne yazacağını seçerken soru şudur: kullanıcıyla doğrudan tarayıcıda mı konuşacaksın, yoksa sunucu ve sistem kaynaklarıyla mı çalışacaksın? Cevap bu ayrımı netleştirir.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Foruma git ?

Bu konuyu görüntüleyen kullanıcılar

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic