Framework vs Library: Web Geliştirmede Fark Nedir?

Framework vs Library: Web Geliştirmede Fark Nedir?

genel·17 Mayıs 2026·5 dk okuma
frontendhtmlcssjavascriptframeworklibraryweb geliştirme
PaylaşLinkedInXWhatsApp

Front end dilleri nelerdir

Web geliştirme dünyasında Front-end (ön yüz), kullanıcının tarayıcıda doğrudan gördüğü, tıkladığı ve etkileşime girdiği her şeyi ifade eder. Bir web sitesinin vitrinidir.

Bir front-end geliştiricisinin mutlaka bilmesi gereken 3 temel yapı taşı (dil) vardır. Bunlar birbirini tamamlayan bir sacayağı gibidir:


1. HTML (HyperText Markup Language)

  • Nedir? Teknik olarak bir programlama dili değil, bir metin işaretleme dilidir.
  • Görevi: Web sayfasının iskeletini ve yapısını oluşturur. Sayfadaki yazıların, görsellerin, butonların ve formların nerede duracağını belirler.
  • Benzetme: Bir evin tuğlaları, duvarları ve odalarıdır.

2. CSS (Cascading Style Sheets)

  • Nedir? Bir tarz/stil şablonu dilidir.
  • Görevi: HTML ile kurulan iskeleti görsel olarak şekillendirir. Renkler, yazı tipleri, arka planlar, sayfa düzeni (layout) ve animasyonlar CSS ile yapılır. Sitenin telefonlarda ve tabletlerde düzgün görünmesini sağlayan (Responsive tasarım) CSS'tir.
  • Benzetme: Evin boyası, duvar kağıdı, mobilyaları ve dekorasyonudur.

3. JavaScript (JS)

  • Nedir? Gerçek ve güçlü bir programlama dilidir.
  • Görevi: Web sayfasına dinamiklik ve etkileşim katar. Kullanıcı bir butona tıkladığında sayfa yenilenmeden verilerin güncellenmesi, açılır menüler, kayan görseller (carousel), form doğrulama işlemleri ve haritalar JavaScript ile çalışır.
  • Benzetme: Evin elektrik ve su tesisatıdır; düğmeye bastığınızda lambanın yanmasını sağlar.


Front-End Dünyasını Kolaylaştıran Teknolojiler (Framework & Kütüphaneler)

Günümüzde front-end geliştiriciler sadece yalın (Vanilla) JavaScript yazmazlar. Büyük projeleri daha hızlı ve düzenli yönetmek için JavaScript tabanlı bazı popüler kütüphane ve framework'leri (çatıları) kullanırlar. En popülerleri şunlardır:

  • React: Meta (Facebook) tarafından geliştirilen, bileşen (component) tabanlı en popüler JavaScript kütüphanesidir.
  • Vue.js: Öğrenmesi nispeten daha kolay olan, esnek ve hafif bir JavaScript framework'üdür.
  • Angular: Google tarafından desteklenen, daha büyük ve kurumsal projelerde tercih edilen kapsamlı bir framework'tür.

Ekstra Güç: TypeScript

JavaScript'in üzerine inşa edilmiş, ona "tip güvenliği" (static typing) kazandıran bir dildir. Özellikle büyük projelerde hataları en aza indirmek için günümüzde front-end ilanlarında sıklıkla aranan bir numaralı dil haline gelmiştir.


Özetlemek gerekirse; harika bir front-end geliştirici olmak istiyorsanız yolculuğunuza HTML, ardından CSS ve hemen sonrasında JavaScript öğrenerek başlamalısınız.

Aklınızda belirli bir proje var mı, yoksa web geliştirmeye yeni mi adım atıyorsunuz?

framework nedir library ile farkı nedir

Web yazılım dünyasında yeni başlayanların en çok kafasını karıştıran iki kavram Framework (Çatı) ve Library (Kütüphane) ikilisidir. İkisi de başkaları tarafından yazılmış, bizim sıfırdan kod yazmamızı engelleyerek işimizi kolaylaştıran hazır kod bloklarıdır.

Ancak aralarında çok temel bir felsefe ve işleyiş farkı vardır.


1. Library (Kütüphane) Nedir?

Kütüphane, belirli bir işlevi yerine getirmek için yazılmış kod, fonksiyon ve metotlar koleksiyonudur.

  • Nasıl Çalışır? Kontrol tamamen sizdedir. Projenizin mimarisini siz kurarsınız, canınız ne zaman isterse kütüphaneyi çağırır, işinizi yaptırır ve kaldığınız yerden kendi kodunuzu yazmaya devam edersiniz.
  • En Bilinen Örnekler: jQuery (DOM işlemleri için), Lodash (fonksiyonel programlama için), Axios (HTTP istekleri için).
  • Not: React de teknik olarak bir framework değil, kullanıcı arayüzü oluşturmaya yarayan bir JavaScript kütüphanesidir.

2. Framework (Çatı) Nedir?

Framework, bir uygulamanın iskeletini, kurallarını ve çalışma şeklini belirleyen büyük bir sistemdir.

  • Nasıl Çalışır? Kontrol sizde değil, framework'tedir. Size hazır bir şablon ve klasör yapısı sunar. Siz kurallara uymak zorundasınızdır; kodunuzu framework'ün size gösterdiği yerlere yazarsınız. O, yeri geldiğinde sizin kodunuzu çağırır ve çalıştırır.
  • En Bilinen Örnekler: Angular, Vue.js, Next.js, Django, Laravel.

Aralarındaki En Büyük Fark: Kontrolün Tersine Çevrilmesi (Inversion of Control)

Bu iki kavram arasındaki teknik ayrım noktasına Inversion of Control (IoC - Kontrolün Tersine Çevrilmesi) denir.

  • Library kullanırken: Siz kütüphaneyi çağırırsınız (Kontrol sizde).
  • Framework kullanırken: Framework sizi çağırır (Kontrol framework'te).

Günlük Hayattan Benzetmelerle Farklar

KriterLibrary (Kütüphane)Framework (Çatı)
Ev Yapma BenzetmesiEvin odasına koyacağınız mobilyadır. İstediğiniz koltuğu seçer, istediğiniz köşeye koyarsınız.Hazır prefabrik evdir. Odaların yeri, banyonun konumu bellidir. Siz sadece içini dekore edersiniz.
Mutfak BenzetmesiYemek yaparken kullandığınız blender veya mikserdir. İstediğiniz an fişe takar, çırpar, sonra kenara koyarsınız.Hazır ekmek yapma makinesidir. Malzemeleri onun istediği sırayla ve ölçüyle koyarsınız, düğmesine basarsınız, o size ekmeği verir.
Kontrol Kimde?Sizde. Projenin mimarı sizsiniz.Framework'te. Projenin kurallarını o koyar.
EsneklikYüksek. İstediğiniz kütüphaneyi projenize ekleyip çıkarabilirsiniz.Düşük. Kuralların dışına çıkmak sistemi bozabilir veya çok zorlar.

Hangisini Ne Zaman Seçmelisiniz?

  • Eğer mevcut bir projeniz varsa ve sadece özel bir problemi çözmek istiyorsanız (örneğin tarih formatlamak, grafik çizdirmek, harita eklemek) bir Library kullanmalısınız.
  • Eğer sıfırdan büyük, ölçeklenebilir ve standartlara uygun bir proje geliştirmeye başlıyorsanız, projenin temelini sağlam bir Framework üzerine kurmak çok daha mantıklıdır.
← Blog Yazıları
WhatsApp'tan Bize Sorun