Ana içeriğe geç

Framework

Türkçe karşılığı
çatı, yazılım çatısı
Okunuşu
freymvörk

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/framework

Kısaca

Framework, bir uygulamanın yapısını sağlayan, yeniden kullanılabilir kod, araç ve kural temelidir; geliştiriciler yalnızca kendi mantıklarını doldurur.

Framework nedir?

Framework, web uygulaması, mobil uygulama ya da API gibi belirli bir tür yazılımı geliştirmek için hazır bir iskelet sunar. İstekleri yönlendirmek (routing), sayfaları oluşturmak ya da bir veritabanıyla konuşmak gibi yaygın ve tekrarlayan işleri üstlenir; kendi kodunuzun nereye gitmesi gerektiğini de belirler. Böylece ekipler, ürünlerini benzersiz kılan özelliklere odaklanabilir.

Framework'ün ardındaki temel fikir kontrolün tersine çevrilmesidir (inversion of control). Bir kütüphanede kontrol sizin kodunuzdadır ve bir şeye ihtiyaç duyduğunda kütüphaneyi çağırır. Framework'te ise kontrol framework'tedir: uygulamayı o çalıştırır ve bir sayfa yüklendiğinde ya da bir istek geldiğinde olduğu gibi belirli noktalarda sizin kodunuzu çağırır.

Ev yapmak, farkı anlatmak için yararlı bir benzetmedir. Kütüphane, ihtiyacınız olan aletleri seçtiğiniz bir hırdavatçıya benzer; framework ise sizin tamamlayıp döşediğiniz, duvarları ve çatısı hazır bir yapı iskeleti gibidir. Bilinen örnekler arasında sunucu tarafı geliştirme için Django, Ruby on Rails ve Spring; web uygulamaları geliştirmek için Angular ve Next.js bulunur.

Framework'ler geliştirmeyi hızlandırır ve tutarlı bir yapıyı teşvik eder, ancak bazı ödünleri de vardır. Kurallarını öğrenmeniz, onların yöntemini izlemeniz ve sürüm yükseltmelerini takip etmeniz gerekir. Bazı araçlar sınırı bulanıklaştırır: React kendini kütüphane olarak tanımlar, yine de birçok geliştirici ona gevşek biçimde framework der.

Önemli noktalar

  • Framework bir uygulamanın yapısını sağlar; ayrıntıları siz doldurursunuz.
  • Kontrolün tersine çevrilmesi: kodunuzu framework çağırır, tersi olmaz.
  • Yönlendirme, arayüzü oluşturma ve veri erişimi gibi yaygın işleri üstlenir.
  • Ödünler arasında öğrenme eğrisi ve işleri kendi yönteminizle yapma özgürlüğünün azalması vardır.

Örnek

Bir web framework'ünde kontrolün tersine çevrilmesi (Express)javascript
// You register handlers; the framework decides when to call them
import express from "express";

const app = express();

// Called by the framework whenever a GET /hello request arrives
app.get("/hello", (req, res) => {
  res.json({ message: "Hello, world!" }); // your own logic
});

app.listen(3000); // the framework now runs the server

Sık sorulan sorular

Framework ile kütüphane arasındaki fark nedir?

Kütüphanede onu ne zaman çağıracağınıza sizin kodunuz karar verir. Framework'te ise akışı framework kontrol eder ve kodunuzu belirli noktalarda çağırır; buna kontrolün tersine çevrilmesi denir.

React bir framework müdür, kütüphane mi?

React kendini kullanıcı arayüzleri oluşturmak için bir kütüphane olarak tanımlar; çünkü bileşenleri oluşturmaya odaklanır, yönlendirme ve veri çekme gibi konuları diğer araçlara bırakır. Next.js gibi framework'ler, eksiksiz bir uygulama yapısı sunmak için React üzerine kurulur.

Web sitesi yapmak için framework'e ihtiyacım var mı?

Hayır. Yalın HTML, CSS ve JavaScript ile bir web sitesi yapabilirsiniz. Framework'ler, proje büyüdükçe değerli hâle gelir; çünkü yapı sağlar ve yaygın sorunları sizin için çözer.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar