Node.js
Orijinal yazar(lar) | Ryan Dahl |
---|---|
İlk yayınlanma | 27 Mayıs 2009 |
Güncel sürüm | 17.4.0[1] / 18 Ocak 2022 |
Geliştirme durumu | Aktif |
Programlama dili | C, C++, JavaScript |
Platform | Microsoft Windows, OS X, GNU/Linux, Solaris, FreeBSD, OpenBSD, webOS |
Lisans | MIT Lisansı |
Resmî sitesi | nodejs.org |
Kod deposu |
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. İngilizce: runtime 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. İngilizce: non-blocking I/O) imkânıyla yüksek ölçeklenebilirliği (İng. İngilizce: scalability) 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, 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
- ^ "Node v17.4.0 (Current)". 27 Ocak 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Ocak 2022.
- ^ "Q&A: Why io.js decided to fork Node.js". 30 Haziran 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Ocak 2016.
- ^ "io.js Week of May 15th". 6 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Ocak 2016.
- ^ 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
- Github proje sayfası10 Eylül 2015 tarihinde Wayback Machine sitesinde arşivlendi.
- Node.js resmî sitesi 31 Ağustos 2015 tarihinde Wayback Machine sitesinde arşivlendi.
Yazılım ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |