Web geliştiriciliğine adım atan herkesin yolu bir noktada mutlaka Express.js ile kesişir. Bunun bir sebebi var: Express hem hafif, hem esnek, hem de Node.js dünyasında neredeyse bir standart haline gelmiş durumda. Peki bu kadar popüler olmasını sağlayan şey tam olarak ne? Gel birlikte bu aracın mantığını, kullanım şeklini ve neden bu kadar sevildiğini inceleyelim.
Express.js Nedir ve Neden Bu Kadar Seviliyor?
Express.js, Node.js üzerinde çalışan minimalist bir web çatısıdır. Yani bir web sunucusu kurmak, API geliştirmek veya HTTP isteklerini yönetmek istiyorsan Express sana zemin hazırlar. "Minimalist" kelimesi seni aldatmasın; sunduğu özgürlük sayesinde küçük uygulamalardan devasa projelere kadar her alanda kullanılabiliyor.
En basit sunucu örneği bile Express'in ne kadar sade olduğunu gösteriyor:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Merhaba Express!');
});
app.listen(3000, () => {
console.log('Sunucu 3000 portunda çalışıyor...');
});
Bu kadar az kodla bir web sunucusu ayağa kaldırmak gerçekten etkileyici.
🛣️ Routing: Bir Web Uygulamasının Trafik Polisi
Bir blog uygulaması yazdığını düşünelim. Kullanıcı yazıları listelemek, yeni yazı eklemek, var olan yazıyı güncellemek isteyecek. İşte bu isteklerin hepsini Express'in routing (yönlendirme) yapısıyla karşılıyoruz.
app.get('/posts', (req, res) => {
res.send('Tüm yazılar listelendi');
});
app.post('/posts', (req, res) => {
res.send('Yeni yazı eklendi');
});
Her rota, kullanıcıdan gelen isteği yakalayan küçük bir kapı gibi düşünebilirsin.
🧩 Middleware: Express'in Gizli Gücü
Express'i güçlü yapan şeylerin başında middleware yapısı geliyor. Middleware, bir isteğin işlenmesi sırasında araya girebilen fonksiyonlardır. Log tutabilir, kullanıcı doğrulaması yapabilir, JSON verisini okuyabilir veya hataları yakalayabilirsin.
Basit bir örnek:
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next();
});
Bu middleware her gelen isteği konsola yazdırır. next() fonksiyonunun çağrılması ise işlemin devam etmesini sağlar. İşte bu küçük mekanizma, büyük projelerde iş akışını inanılmaz derecede düzenli hale getiriyor.
🗂️ Modüler Yapı: Projelerin Kontrolden Çıkmasını Önlemek
Biraz büyüyen her projede ilk yaşanan sorun dosya karmaşasıdır. Express burada da çözüm sunuyor: Router yapısı. Bu sayede rotaları bölüp modüler hale getirebilirsin.
Örnek olarak /posts rotalarını ayrı bir dosyaya taşıyalım:
// routes/posts.js
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => res.send('Tüm postlar'));
router.post('/', (req, res) => res.send('Yeni post oluşturuldu'));
module.exports = router;
Ana dosyada ise:
const postsRoute = require('./routes/posts');
app.use('/posts', postsRoute);
Bu yapı projeyi hem okunabilir hem de yönetilebilir kılıyor.
🎯 Sonuç: Express.js Neden Hâlâ Lider?
Express.js'in gücü, basitliği ile sağladığı özgürlüğün mükemmel dengesinden geliyor. Seni katı kurallara zorlamayan ama ihtiyaç duyduğunda kullanabileceğin güçlü araçlar sunan bir yapı hayal et. İşte Express tam olarak bu.
Modern web uygulamaları geliştirirken hız, esneklik ve netlik istiyorsan Express.js hâlâ en iyi seçeneklerden biri.