Node.js Nedir? Backend Gelistirme Rehberi
JavaScript uzun yillar sadece tarayicida calisiyordu. 2009'da Node.js ile JavaScript sunucu tarafinda da calismaya basladi — ve backend gelistirme dunyasini degistirdi.
Node.js Nedir?
Node.js, Chrome'un V8 JavaScript motoru uzerine kurulu, sunucu tarafinda JavaScript calistiran bir runtime ortamidir. Tarayicida calisan JavaScript'i sunucuya tasir.
Neden Node.js?
1. Tek Dil (Full-Stack JavaScript)
Frontend (React/Next.js) ve backend (Node.js) ayni dille yazabilirsiniz. Ekip verimliligi artar, bilissel yuk azalir.
2. Non-Blocking I/O
Node.js, event-driven ve asenkron mimarisyle ayni anda binlerce baglantliyi isleyebilir.
3. NPM Ekosistemi
Dunyanin en buyuk paket kaydi:
- 2 milyondan fazla paket
- Haftada 50 milyardan fazla indirme
- Her ihtiyac icin hazir cozum
4. Yuksek Performans
- V8 motoru — son derece hizli JavaScript calistirma
- Event loop — verimli kaynak kullanimi
- Streaming — buyuk dosya islemleri
5. Genis Topluluk
- Stack Overflow'da en cok sorulan konulardan
- Binlerce acik kaynak proje
- Surekli guncelleme ve destek
Node.js Nerelerde Kullanilir?
| Kullanim Alani | Ornek | |---------------|-------| | Web API'ler | REST, GraphQL | | Gercek zamanli uygulamalar | Chat, bildirimler | | Mikroservisler | Bagimsiz servisler | | SSR (Server-Side Rendering) | Next.js | | CLI araclari | npm, webpack | | IoT | Sensor veri isleme | | Streaming | Video/ses isleme |
Basit Bir Node.js Sunucusu
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ mesaj: 'Merhaba Dunya!' }));
});
server.listen(3000, () => {
console.log('Sunucu 3000 portunda calisiyor');
});
Express.js ile API Gelistirme
const express = require('express');
const app = express();
app.use(express.json());
// GET
app.get('/api/users', (req, res) => {
res.json([{ id: 1, name: 'Ali' }]);
});
// POST
app.post('/api/users', (req, res) => {
const user = req.body;
res.status(201).json(user);
});
app.listen(3000);
Node.js Ekosistemi
| Kategori | Populer Paketler | |----------|-----------------| | Web Framework | Express, Fastify, Koa | | ORM | Prisma, Sequelize, TypeORM | | Validation | Zod, Joi, Yup | | Auth | Passport, jsonwebtoken | | Testing | Jest, Mocha, Vitest | | Real-time | Socket.io, ws | | Task Queue | Bull, BullMQ |
Node.js vs Diger Backend Teknolojileri
| Kriter | Node.js | Python | Go | Java | |--------|---------|--------|----|----| | Hiz | Hizli | Orta | En hizli | Hizli | | Ogrenme | Kolay | En kolay | Orta | Zor | | Ekosistem | En genis | Genis | Buyuyor | Genis | | Concurrency | Event loop | Multi-thread | Goroutines | Threads | | Kullanim | Web/API | AI/ML/Web | Sistem/Cloud | Enterprise |
Node.js Best Practices
- Asenkron kodu dogru yonetin — async/await kullanin
- Hata yonetimini ihmal etmeyin — try/catch, error middleware
- Environment degiskenleri — dotenv ile guvenli saklama
- Loglama — Winston veya Pino kullanin
- Guvenlik — helmet, cors, rate limiting
- Proje yapisi — Katmanli mimari (routes, controllers, services)
Sonuc
Node.js, 2026'da en populer backend teknolojilerinden biri. JavaScript biliyorsaniz backend'e gecis cok kolay. Netflix, PayPal, LinkedIn ve NASA gibi devler Node.js kullaniyor.
Node.js ile backend ve API gelistirmek isterseniz benimle iletisime gecin: info@cagribilgehan.com. Projelerime goz atin: cagribilgehan.com