İçeriğe atla

Node.js

Vikipedi, özgür ansiklopedi
15.26, 21 Mart 2022 tarihinde InternetArchiveBot (mesaj | katkılar) tarafından oluşturulmuş 27381557 numaralı sürüm (3 kaynak kurtarıldı ve 0 kaynak ölü olarak işaretlendi.) #IABot (v2.0.8.6)
Node.js
Orijinal yazar(lar)Ryan Dahl
İlk yayınlanma27 Mayıs 2009 (2009-05-27)
Güncel sürüm17.4.0[1] / 18 Ocak 2022 (2022-01-18)
Geliştirme durumuAktif
Programlama diliC, C++, JavaScript
PlatformMicrosoft Windows, OS X, GNU/Linux, Solaris, FreeBSD, OpenBSD, webOS
LisansMIT Lisansı
Resmî sitesinodejs.org
Kod deposu Bunu Vikiveri'de düzenleyin

Node.js, açık kaynaklı, genelde sunucu tarafında çalışan ve ağ bağlantılı uygulamalar için geliştirilmiş bir çalıştırma ortamıdır (İng. İngilizceruntime environment). Node.js uygulamaları genelde istemci tarafı betik dili olan JavaScript kullanılarak geliştirilir. JavaScript'ten en büyük farkı, herangi bir aracı yani tarayıcı veya motor olmadan yerel olarak; diğer coğu programlama dilinin aksine derlemeye ihtiyac olmadan direk komut satırından, node parametresi ile calıştırılabilmesidir.

En önemli avantajı JavaScript'in sağladığı bloklamayan G/Ç (İng. İngilizcenon-blocking I/O) imkânıyla yüksek ölçeklenebilirliği (İng. İngilizcescalability) ve yüksek veri aktarabilmesidir. Bu teknolojiler sık sık gerçek zamanlı Web uygulamalarında tercih edilmekle beraber kullanım alanı popülaritesiyle orantılı olarak genişlemiştir.

Node.js, Google V8 JavaScript motorunu kullanarak betik dilini yorumlar ve içerisinde standart olarak dağıtılan kütüphaneler sayesinde ek bir sunucu yazılımına (Apache HTTP Sunucusu, Nginx, IIS vs.) gerek kalmadan uygulamanın Web sunucusu görevini görür.

Örnekler

NPM ile Express.js kullanılarak basit bir web sunucusu oluşturma,

// NPM ile express kütüpanesini ekliyoruz,
const express = require('express');
// Kütüphaneden gelen fonksiyonu calıstırıp app adı verdiğimiz web sunucusuna atıyoruz.
const app = express();

// "/" yani ana dizine gelen HTTP GET isteklerine,
app.get('/', (req,res) => {
    // Wikipedia cevabını gönderiyoruz.
    res.send("Wikipedia");
    // Burda gerekli islemlerimiz bittiği icin ve ram'i cok kullanmamak icin fonksiyonu bitiriyoruz
    return;
})
// Web sunucumuzu, 80 portuna tanımlıyor ve calıstırıyoruz.
app.listen(80);

en son ise komut satırından node DOSYA_ADI.js yazarak kodumuzu calıstıyoruz.

Alternatifler

io.js

io.js logosu

io.js, Node.js'ten türetilmiş, yönetim şekli olarak anonim şirket tarzı bir yönetimden ziyade açık yönetimi tercih eden bir projedir.[2] Aralık 2014'te geliştirilmeye başlanan io.js, 15 Mayıs 2015'te Node.js ile Node Foundation çatısı altında yeniden birleşme kararı almıştır.[3]

deno

2018 yılında Node.js'in geliştiricisi Ryan Dahl tarafından geliştirilmeye başlanmış. Node.js'ın aksine Javascript'in süperseti olan Typescript ile geliştirilmektedir. Ryan Dahl bir konuşmasında Node.js'i geliştirirken yaptığı hataları tekrarlamak istemediğini belirtmiştir[4].

Kaynakça

  1. ^ "Node v17.4.0 (Current)". 27 Ocak 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Ocak 2022. 
  2. ^ "Q&A: Why io.js decided to fork Node.js". 30 Haziran 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Ocak 2016. 
  3. ^ "io.js Week of May 15th". 6 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Ocak 2016. 
  4. ^ Ryan Dahl - JSConf EU https://www.youtube.com/watch?v=M3BM9TB-8yA 17 Mayıs 2019 tarihinde Wayback Machine sitesinde arşivlendi.

Dış bağlantılar