Kütüphane (Library)
Belirli bir işlevi (örneğin matematiksel hesaplama, ağ isteği veya tarih formatlama) yerine getiren kod koleksiyonudur.
- ✔ Kontrol sizdedir (Siz çağırırsınız).
- ✔ Esnektir, başka araçlarla kolayca birleşir.
- ✔ Uygulamanın sadece bir kısmını çözer.
Framework (Çerçeve)
Uygulamanın mimarisini belirleyen, hazır kurallar ve standartlar bütünüdür. Bir "iskelet" görevi görür.
- ✔ Kontrol Framework'tedir (O sizi çağırır).
- ✔ Kuralları katıdır (Standartlara uymalısınız).
- ✔ Tüm uygulama akışını yönetir.
| Dil | Framework | Kütüphane Örnekleri |
|---|---|---|
| JavaScript | Express.js, NestJS | Axios, Lodash, Mongoose |
| Python | Django, Flask | Pandas, Requests, NumPy |
| PHP | Laravel, Symfony | PHPMailer, Carbon |
# Inversion of Control (IoC)
Framework ve kütüphane arasındaki en büyük fark "Kontrolün Tersine Çevrilmesi"dir.
Bir kütüphanede siz kitaplik.hesapla() dersiniz.
Bir framework'te ise siz kodu yazarsınız, framework "sırası geldiğinde" sizin kodunuzu çalıştırır.
// Kütüphane Kullanımı (Siz Kontrol Edersiniz)
const data = axios.get('/api/user'); // Sen çağırdın
// Framework Kullanımı (O Sizi Çağırır)
app.get('/home', (req, res) => { ... }); // Rota gelince framework çalıştırır