Node.js Nedir?
Node.js, sunucu tarafı JavaScript çalıştırmak için kullanılan bir platformdur. JavaScript’in tarayıcılarda çalışmasının yanı sıra sunucu taraflı uygulamalar geliştirmek için de kullanılmasını sağlar. Ryan Dahl tarafından 2009 yılında geliştirilmeye başlanmıştır.
Node.js’in temel avantajlarından biri, olay tabanlı ve asenkron bir yapıya sahip olmasıdır. Bu, bir işlemin tamamlanmasını beklemek yerine, işlemlerin eşzamanlı olarak gerçekleştirilebilmesini sağlar. Bu da yüksek performanslı ve ölçeklenebilir uygulamaların geliştirilmesine olanak tanır.
Node.js’in ana bileşeni, V8 JavaScript motorudur. Bu motor, Google Chrome tarayıcısında kullanılan aynı motor olup hızlı ve etkili JavaScript kodu yürütme yeteneğine sahiptir. Node.js ayrıca bir dizi dahili modül ve geniş bir paket ekosistemi ile birlikte gelir. Bu modüller ve paketler, HTTP sunucularından dosya sistemine, veritabanı işlemlerinden güvenlik kontrollerine kadar birçok alanda geliştirme yapmayı kolaylaştırır.
Node.js’in yaygın kullanım alanları arasında web sunucuları, API’ler, mikro hizmetler, veri işleme araçları ve IoT (Nesnelerin İnterneti) uygulamaları bulunmaktadır.
Kısacası, Node.js, JavaScript’i sunucu tarafında kullanarak hızlı, ölçeklenebilir ve etkili uygulamalar geliştirmenize olanak tanır. Bu da geliştiricilere tek dilde hem istemci tarafı hem de sunucu tarafı uygulamalarını kolayca yönetme ve geliştirme imkanı sunar.
1. Modüller (Modules)
Node.js’de her dosya bir modül olarak kabul edilir ve bu dosyalar arasında kodun organizasyonunu ve yeniden kullanılabilirliğini sağlar.
// greet.js
function greet(name) {
console.log(`Hello, ${name}!`);
}
module.exports = greet;Yukarıdaki kod örneğinde, greet fonksiyonunu başka dosyalarda kullanmak için module.exports ile dışa aktarıyoruz.
// app.js
const greet = require('./greet');
greet('John');require fonksiyonuyla greet.js dosyasını app.js dosyasına dahil ediyoruz ve greet fonksiyonunu kullanabiliyoruz.
2. Paket Yöneticisi (Package Manager)
Node.js için en yaygın paket yöneticisi npm’dir. npm, projenizde kullanacağınız kütüphaneleri yönetmenize ve projenizin bağımlılıklarını kolayca kurmanıza olanak tanır.
npm install expressYukarıdaki komut ile popüler bir web framework’ü olan Express’i projemize ekleyebiliriz.
3. HTTP Sunucusu (HTTP Server)
Node.js, HTTP sunucularını oluşturmak için idealdir. http modülü, HTTP isteklerini dinlemek ve yanıtlamak için kullanılır.
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
server.listen(3000, 'localhost', () => {
console.log('Server running at http://localhost:3000/');
});Yukarıdaki örnekte, bir HTTP sunucusu oluşturduk ve gelen isteklere “Hello World” yanıtı verdik.
4. Asenkron Programlama (Asynchronous Programming)
Node.js, olay bazlı ve asenkron bir yapıya sahiptir. Bu, işlemlerin bloke olmadan devam edebilmesini sağlar ve verimli bir şekilde çoklu işlem yapılmasına olanak tanır.
const fs = require('fs');
fs.readFile('dosya.txt', 'utf8', (err, data) => {
if (err) {
console.error('Dosya okunurken hata oluştu:', err);
return;
}
console.log('Dosya içeriği:', data);
});Yukarıdaki örnekte, fs.readFile işlevi dosya okuma işlemini asenkron bir şekilde gerçekleştirir ve geri arama fonksiyonu aracılığıyla dosyanın içeriğine erişir.




