Programlama

Framework

Framework nedir?

Framework sözü çerçeve demektir. Programın klasörleri, adresin yolu ve bir işin hangi sırayla gideceği önceden konmuştur. Sen ortadaki boş yere kendi kuralını yazarsın. O seni çağırır. Kitaplık böyle değildir. Kitaplık hazır bir parçadır. Tarihi düzeltmek, görseli ölçmek veya sayıyı yazmak için onu sen çağırırsın. Çerçeveyi o vermez. Django Python içindir ve sitenin arkasını kurar. Laravel PHP içindir. React ise sayfanın yüzüne bakar. İnsanlar onu da framework diye çağırır, ama kendi bir kitaplıktır: yüzü parçalara böler, klasör ve sunucu kuralını zorlamaz. npm ve pip framework değildir. Onlar paketi getiren araçtır. Getirdikleri şey kitaplık da olabilir, framework de.

Framework ne için kullanılır?

Framework boş projeyi sana vermesin diye kullanılır. Kitaplık ise bir işi tekrar yazmamak içindir.

  • Sitenin klasör ve adres kuralını hazır almak
  • Bir fonksiyonu çağırıp yalnız o işi görmek
  • Yüzü küçük parçalara bölmek
  • Aynı işi her projede sıfırdan yazmamak

Framework ile ne yapılabilir?

Framework ile yeni proje açınca klasörler zaten durur. Sen kendi sayfanı veya kendi kuralını içine yazarsın. Onun istediği adda fonksiyon yazmazsan iş gitmez. Kitaplık ile sen karar verirsin. Gerekince bir satır çağırır, kalanını kendin yazarsın. Framework seni çabuk götürür, ama yolu da kendi seçer. Küçük bir sayfa için büyük framework ağır olabilir. Büyük sitede ise çerçevesiz her şeyi elle toplamak dağılır. Önce işin küçük olduğunu bil, sonra çerçeve al.

Framework öğrenmek zor mu?

Bir satır çağırmak kolaydır. Zorluk çerçevenin kendi kuralını öğrenmektir. Ad bir harf yanlış olunca sayfa açılmaz ve sebep senin işinde değil, çerçevenin beklediğindedir. Eski ders yeni sürümde çalışmayabilir. Her şeye framework takmak da yanlıştır. Bir düğmelik sayfa için büyük çerçeve yalnız karışıklık getirir. Kitaplığı da körü körüne toplamamak gerekir. Getirdiğin paket başka paket isteyebilir.

Avantajları ve sınırları

Framework yolu kısaltır ve herkesi aynı yapıya koyar. Özgürlüğü de azaltır. Kitaplık seni özgür tutar, ama yapıyı sen düşünürsün. Küçük iş için kitaplık ya da hiçbiri yeter. Büyük site için çerçeve dağılmayı azaltır. React’i framework sanıp sunucu kuralı beklemek insanı şaşırtır.

Temel kavramlar

Çerçeve seni çağırır. Kitaplığı sen çağırırsın. Paket aracı ise hiçbiri değildir.

  • Django ve Laravel framework’tür
  • React esas olarak kitaplıktır
  • Kitaplığı senin kodun çağırır
  • npm ve pip yalnız paketi getirir

Kısa örnek

Birinci satır kitaplığı çağırır. İkincisi ise çerçevenin beklediği addır. Çerçeve bu adı kendi arar.

# kitabxana: sən çağırırsan
yaz(tarix)

# framework: o bu adı axtarır
def index():
    return "salam"

Sık sorulan sorular

  • Framework ve kitaplık aynı mı? Hayır. Kitaplığı sen çağırırsın. Framework seni çağırır ve yapıyı kendi koyar.
  • React framework mü? Çok kişi böyle der. Aslında o, sayfanın yüzünü parçalara bölen kitaplıktır. Klasör ve sunucu kuralını zorlamaz.
  • npm framework mü? Hayır. npm paketi getirir. Getirdiği şey kitaplık da olabilir, framework de.