
Node.js ile Back-End Geliştirme: Temel Bilgiler
Node.js, JavaScript’i sunucu tarafında çalıştırmamıza olanak tanıyan açık kaynaklı bir platformdur. Genellikle ön uç (frontend) geliştirmede kullanılan JavaScript dilini, arka uç (backend) geliştirmede kullanmak, geliştiricilerin daha verimli çalışmasını sağlar. Node.js, asenkron yapısı, hızlı çalışma performansı ve geniş modül ekosistemi sayesinde, modern web uygulamalarında arka uç geliştirme için popüler bir seçenektir.
Bu blog yazısında, Node.js ile backend geliştirmeye başlamak için bilmeniz gereken temel bilgileri adım adım ele alacağız. Hem yeni başlayanlar hem de deneyimli geliştiriciler için faydalı olacak temel konuları örneklerle açıklayacağız.
1. Node.js Nedir?
Node.js, Google Chrome’un V8 JavaScript motorunu kullanan ve JavaScript’i sunucu tarafında çalıştıran bir platformdur. Node.js, geliştiricilere ölçeklenebilir ağ uygulamaları oluşturma imkânı tanır. Tek iş parçacığı üzerinden çalışan Node.js, asenkron (non-blocking) yapısı sayesinde yüksek performans sağlar.
Node.js’in Temel Özellikleri:
- Event-driven (Olay Tabanlı): Node.js, olay tabanlı bir yapıya sahiptir. Bu sayede yüksek performans elde edilir.
- Non-blocking (Engellemeyen): I/O işlemleri asenkron çalışır, bu da daha hızlı ve verimli bir yapı sağlar.
- Tek İşlemci (Single-threaded): Node.js, tek iş parçacığı üzerinde çalışır, ancak yüksek performans için paralel işlem yapabilen modüllerle desteklenir.
- V8 JavaScript Motoru: Google Chrome’un kullandığı V8 motoru sayesinde hızlı çalışır.
2. Node.js ile Backend Geliştirme Adımları
Node.js kullanarak bir arka uç uygulaması geliştirmek için adım adım izlenmesi gereken yol aşağıda anlatılmaktadır.
2.1. Gerekli Araçların Kurulumu
Başlamak için Node.js'in bilgisayarınıza kurulu olması gerekir. Node.js’i buradan indirebilirsiniz.
Kurulumdan sonra, terminali açarak aşağıdaki komutu yazıp Node.js'in doğru şekilde yüklendiğinden emin olabilirsiniz:
node -v
npm -v
2.2. Yeni Bir Proje Başlatma
Bir Node.js projesi başlatmak için terminali açarak yeni bir dizin oluşturun:
mkdir node-backend
cd node-backend
Ardından, yeni bir Node.js projesi başlatmak için şu komutu girin:
npm init -y
Bu komut, proje için bir package.json
dosyası oluşturur.
2.3. Express.js İle İlk API Uygulaması
Node.js ile backend geliştirmeye başlamak için en yaygın kullanılan frameworklerden biri Express.js’dir. Express, Node.js ile çalışırken kullanabileceğiniz hızlı, esnek ve minimal bir framework'tür.
Express.js'i projenize dahil etmek için şu komutu çalıştırın:
npm install express
Sonrasında, projenizin ana dizininde bir app.js dosyası oluşturun ve aşağıdaki gibi temel bir Express.js uygulaması yazın:
// app.js
const express = require('express');
const app = express();
// JSON verisi işlemek için middleware
app.use(express.json());
// Basit bir GET isteği
app.get('/', (req, res) => {
res.send('Merhaba, Node.js Backend!');
});
// Sunucuyu başlatma
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Sunucu ${PORT} portunda çalışıyor...`);
});
Yukarıdaki kodda, Express ile basit bir GET isteği yapılır ve bir yanıt döndürülür. Sunucu 3000 portunda çalışır.
3. RESTful API’ler ile CRUD İşlemleri
Node.js ile geliştirdiğiniz backend uygulamanızda, genellikle CRUD (Create, Read, Update, Delete) işlemleri yapmanız gerekecektir. Şimdi, Express.js ile basit bir CRUD API’si oluşturalım.
3.1. Create (Veri Ekleme) - POST
Veri eklemek için POST istekleri kullanılır. Aşağıda basit bir kullanıcı ekleme API’si örneği bulunmaktadır:
// app.js
let users = [
{ id: 1, name: 'Ali', age: 25 },
{ id: 2, name: 'Ayşe', age: 30 }
];
// Kullanıcı ekleme API'si (POST)
app.post('/users', (req, res) => {
const { name, age } = req.body;
const newUser = { id: users.length + 1, name, age };
users.push(newUser);
res.status(201).json(newUser);
});
Yukarıdaki kodda, /users
endpoint'ine gelen POST isteğiyle yeni bir kullanıcı eklenir.
3.2. Read (Veri Okuma) - GET
Veri almak için GET istekleri kullanılır. Tüm kullanıcıları listelemek için şu kodu kullanabilirsiniz:
// Kullanıcıları listeleme API'si (GET)
app.get('/users', (req, res) => {
res.status(200).json(users);
});
Bu API, tüm kullanıcıların listesini dönecektir.
3.3. Update (Veri Güncelleme) - PUT
Veri güncellemek için PUT istekleri kullanılır. Aşağıda, bir kullanıcının verisini güncellemek için kullanılan bir PUT API örneği bulunmaktadır:
// Kullanıcı güncelleme API'si (PUT)
app.put('/users/:id', (req, res) => {
const { id } = req.params;
const { name, age } = req.body;
const user = users.find(user => user.id == id);
if (user) {
user.name = name || user.name;
user.age = age || user.age;
res.status(200).json(user);
} else {
res.status(404).send('Kullanıcı bulunamadı');
}
});
Bu API, belirli bir kullanıcının bilgilerini güncellemek için kullanılır.
3.4. Delete (Veri Silme) - DELETE
Veri silmek için DELETE istekleri kullanılır. Aşağıdaki örnekte bir kullanıcıyı silmek için kullanılan bir DELETE API’si bulunmaktadır:
// Kullanıcı silme API'si (DELETE)
app.delete('/users/:id', (req, res) => {
const { id } = req.params;
users = users.filter(user => user.id != id);
res.status(204).send();
});
Bu API, belirli bir kullanıcının verisini siler.
4. Node.js ile Backend Geliştirirken İpuçları
Asenkron Programlama: Node.js’in asenkron yapısı nedeniyle, I/O işlemleri bloklamaz. Bu, yüksek verimli uygulamalar oluşturmanıza olanak tanır. Ancak, asenkron programlama sırasında dikkat etmeniz gereken birkaç nokta vardır: Callback’ler, Promises ve Async/Await kullanarak kodunuzu daha temiz ve anlaşılır hale getirebilirsiniz.
Middleware Kullanımı: Express.js ile middleware kullanarak gelen her isteği işleyebilirsiniz. Örneğin, kullanıcı doğrulaması, hata yakalama veya loglama işlemleri için middleware’ler kullanabilirsiniz.
Veritabanı Entegrasyonu: Gerçek bir uygulama geliştirdiğinizde, bir veritabanına bağlanmak gerekecektir. MongoDB, PostgreSQL veya MySQL gibi popüler veritabanları ile Express.js uygulamanız arasında kolayca bağlantı kurabilirsiniz.
Güvenlik Önlemleri: Backend uygulamanızda güvenlik önlemleri almanız çok önemlidir. JWT (JSON Web Token) ile kullanıcı kimlik doğrulaması yapabilir ve güvenli bir API oluşturabilirsiniz.
5. Sonuç
Node.js ile backend geliştirme, hızlı, verimli ve ölçeklenebilir uygulamalar oluşturmanızı sağlar. Express.js ile CRUD işlemlerini yönetebilir, RESTful API’ler geliştirebilir ve modern web uygulamaları oluşturabilirsiniz. Node.js’in asenkron yapısı, uygulamanızın yüksek performanslı çalışmasını sağlar. Geliştiriciler için mükemmel bir backend çözümü olan Node.js, popülerlik kazanmaya devam etmektedir.
Node.js ile backend geliştirmeyi öğrenmek, modern yazılım geliştirme dünyasında önemli bir beceridir. Bu rehber ile temel bilgilere sahip oldunuz ve ilk Node.js API'nizi geliştirmeye başladınız. Şimdi daha karmaşık projelere geçebilirsiniz!
Yorum Yap