Framework Nedir ?

Framework Nedir ?

Hepinize merhaba dostlarım :). Bu yazımda sizlere sektörde özellikle sık sık karşımıza çıkan, bilmemizin bize büyük projelerde katkı sağlayacağı, aynı zamanda da proje geliştirirken karşımıza sıklıkla çıkan işlemleri azaltmaya yarayan, kullanıcı dostu ve güvenli kodlamamızı sağlayan yapılardan yani framework lerden bahsedeceğim. Hepinizin heyecanını seziyorum dostlarım :). Sözü daha fazla uzatmadan konumuza giriş yapalım

Framework Nedir ?


Dostlarım framework bize mvc yapısı (okumayan dostlarım buradan ulaşabilir) halinde tek bir dil ile (php veya javascript ile) bize bir kod iskeleti halinde sunulan, üzerinde rahat rahat değişiklikler yapabileceğimiz, ister kütüphane ekleyip rahatlıkla projenin kısımlarında kullanabileceğimiz, istersek de bazı yapıları geliştirebileceğimiz yapılardır. 

Çoğunlukla sektörde analiz yaparsanız dostlarım framework kullanımının çok yaygın olduğunu rahatlıkla görebilirsiniz dostlarım :). Yukarıda anlattığım gibi avantajların yanısıra framework ile proje geliştirirken içerisindeki yapılar ile bize az kodla çok iş yapmamızda çok büyük katkı sağlıyor dostlarım :). Gelin bunu bir örnekle açıklayalım :)

Öncelikle dostlarım saf php üzerinde database bağlantısını yapalım ve kullanıcıları çekelim

<?php
  try{
      $user="root";
     $db = new PDO("mysql:host=localhost;dbname=firma;charset=utf8",$user);
  }catch(PDOException $e){
    echo "Bağlanamadım: ".$e->getMessage()
  }

 // USERS TABLOSUNDAKİ TÜM KAYITLARI ÇEKELİM
 $user = $db->prepare("selecct * from users");  
 $user->execute();
 $user_cek = $user->fetchAll(PDO::FETCH_ASSOC);

  // Kullanıcıları Listeleyelim
  foreach($user_cek as $user){
     echo $user['name']."<br>";
  }
?>

şeklindeki gibi dostlarım framework olmadan uzun uzun yazıyoruz ve aynı zamanda tüm kayıtlatı çekeceğimizi sql kodu yazarak belirtiyoruz. Bu işlem biraz uzun oluyor framework kullanmadığımız için dostlarım :). Şimdi ise gelin aynı işlemi PHP nin popüler bir framework'ü olan laravel üzerinden gerçekleştirelim

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=firma
DB_USERNAME=root
DB_PASSWORD=

Dostlarım öncelikle .env üzerinden bağlanacağımız database bilgisini yukarıdaki gibi yazıyoruz ve veri tabanına bağlanmış oluyoruz dostlarım :). Siz şimdi acaba veri çekilmesi nasıl diye merak ediyorsunuzdur :). gelin onu da göstereyim dostlarım :)

Daha sonra ise veri çekmek için komutumuzu veriyoruz :).

<?php

  $users=DB::table('users')->get();  // tüm kayıtları kısa bir kodla çektik :)

  foreach($users as $user){
      echo $user->name."<br>";
   }
?>

şeklinde framework kullanarak daha kısa bir şekilde işlerimizi halletme imkanımız oluyor dostlarım :). Şimdi aklınızdaki sorulardan birisini seziyorum ve cidden bu soruyu düşünmenizde de fayda var. Ben de hemen sözümü daha fazla uzatmayıp sizleri merak denizinde bırakmadan hemen konuya geçiyorum

Framework Kullanmanın Avantajları

Dostlarım aklınızdaki soruyu sezdim ve bu başlıkta anlatarak sizlerin zihnindeki soru işaretlerini bir bir sonuca ulaştırmak ve framework ün avantajlarından bahsetmek istedim :). Gelin hep beraber framework kullanmanın avantajları nedir ne değildir bir inceleyelim derim :)

1-) Kullanıcı Dostu


Dostlarım bu başlığı framework e başladığınız anda ve proje geliştirme işlemi yapacağınız zaman açıkça göreceksiniz :). Framework lerin hemen hemen hepsi bir kullanıcı dostudur diyebilirim dostlarım. Yukarıda saf php ile firma isimli veritabanı üzerinden tabloya erişmek için hem bağlantı kodu yazdık uzun uzun hem de sql kodu yazıp zaman kaybetmiştik. Framework kullanarak tek satır yazıp tablodaki verileri hızlıca çekip ekrana bastırdık :). İşte dostlarım bu şekilde Framework'ün kullanıcı dostu olduğunu bir örnekle görmüş olduk :)

2-) Geliştirici Desteği


Dostlarım geliştirici desteği bir framework ün aranan en büyük özelliklerinden birisidir diyebilirim. Nasıl diye merak ediyorsanız size bir örnekle açıklayayım :). Örneğin bir siteniz var ve siz bir kere yayınladıktan sonra bir daha hiçbir şey yapmıyorsunuz o site o halde orada duruyor. Bu siteye nasıl ziyaretçi gelmez ise frameworkün geliştirici desteği olmaz ise o framework ün de sektörde geliştiricisi, kullanımı olmaz. Mesela örnek vermek gerekirse dostlarım laravel ve codeigniter framework lerini ele alalım. Laravel framework ünün çok büyük bir geliştirici kitlesi varken codeigniter de durum böyle değildir. Zaten iş ilanlarında da bundan yola çıkılarak dostlarım backend developer arayışlarında tercihen laravel bilen eleman ihtiyacı olan firmaları rahatlıkla görebiliriz dostlarım :).

3-) Güvenlik


Evet dostlarım frameworkün en önemli özelliklerinden birisidir güvenlik :). Nasıl diye merak ediyorsanız dostlarım ziyaretçi panelinden kötü amaçlı ziyaretçilerden gelen javascript kodlarına karşı panelimizi koruyan bir güvenlik sağlarlar, veya herhangi bir sql veri çekme ihtiyacına karşın sql kolonlarının fillable veya guarded olarak ayarlamamıza yardımcı olup sql veri tabanımızdaki tablolarımızın ziyaretçi ppanelinden korunmasını sağlarlar :).

4-) Düzenli Yapı


Ve en son olarak dostlarım framework'ün avantajlarına bakacak olursak düzenli yapıdaoluşudur. Düzenli yapı hemen hemen her framework için olmazsa olmaz denebilir dostlarım :). Neden diye merak ediyorsanız dostlarım gelin size bir mantıksal örnekle açıklayayım :). Yukarıda yazımızın en başlarında framework'lerin mvc mantığında yazıldığına değinmiştik. Aklımıza şöyle bir soru getirelim: "MVC Yapısında Olmasaydı Nasıl Olurdu ?". Dostlarım mvc yapısında olmasaydı yani class lar ayrı, kütüphaneler ayrı, model dosyaları ayrı ve view dosyaları ayrı klasörde olmasaydı ve view içerisinde veri tabanı işlemleri yapmış olsaydık bizim framework kullanmamızın bir anlamı kalmazdı dostlarım :). İşte bu yüzden dostlarım sektörde de düzenli yapıya önem verilip projenin geliştirilmesinde düzenli bir yapı olan frameworkler kullanılır :).  

Framework Nasıl Çalışır

Dostlarım framework'ün temel olarak ne olduğunu ve bize nasıl avantajlar katacağını öğrenmiş olduk :). Şimdi ise akıllarda soru işaretine sebep olan ve öğrenmemizin bize katkısının oldukça fayda sağlayacağını düşündüğüm konu ise frameworklerin nasıl çalıştığı dostlarım :).

Dostlarım öncelikle rotasyon dosyasında gelecek olan http isteklerine göre (get,post,put,delete vs) şeklinde bir tanımlama yaparız. Daha sonra bu http isteklerinin gideceği controller ve çağrılacağı method yazılır. Buraya kadar tamam ise diğer kısmına geçiyorum dostlarım :)

Daha sonra ise bu isteğin gittiği methodda herhangi bir veri tabanı işlemi var ise o model dosyası çağrılıp gerekli işlemler yaptırılır, Ha eğer veri tabanı işlemi yok ise işlemler yapılıp sonuç bize return edilir (bu view dosyası olabilir veya boolean bir değer olabilir vs vs :))

İşte dostlarım frameworklerin çalışma yapısı aynen bu şekildedir. MVC mantığı kullanılır ama tek bir fark olarak rotasyon klasörü de içerisinde barındırırlar ve gelen http isteklerine göre işlemlerimizi ustalıkla yerine getirirler :).

Günümüzde Popüler Frameworkler

Evet dostlarım :). Artık framework nedir, nasıl çalışır, avantajları nelerdir bunları sağlıklı bir şekilde anlamış isek gelelim şimdi de günümüzde kullanılan popüler frameworkleri incelemeye :). Hepiniz heyecanlanıyorsunuz biliyorum dostlarım :). Sözü daha fazla uzatmadan ilk frameworkümüz ile başlayacağım

1-) Node JS

Dostlarım Node JS, Javascript dünyasında adeta bir inovasyon olan ve javascript ile sunucu oluşturulup çalıştırılmasında önemli rol oynayan frameworktür. Kullanımı oldukça basit olan bu frameworkte ihtiyacınız olan paketleri npm (Node Package Manager) aracılığıyla projenize dahil edip rahatça kullanabilirsiniz :)

2-) Django

Python programlama dili ile geliştirilmiş küçük, hızlı ve işlevsel olan bir web frammeworküdür dostlarım. Çevrenizde iş ilanlarına bakacak olursanız yavaş yavaş django nun yer etmeye başladığını ve django yu öğrenmenin bize avantaj olacağını rahatlıkla söyleyebiliriz dostlarım :).

3-) Spring Framework

Dostlarım spring framework'e değinecek olursak java ne .net için oluşturulmuş bir web frameworktür.

4-) Entity Framework

Dostlarım Entity Framework Microsoft tarafından 2008 yılında geliştirilmeye başlanmıştır. Günümüzde oldukça fazla kullanılan .net projelerinde sıklıkla kullanılmaktadır. OOP mimarisine sahiptir ve ilişkisel veri tabanı işlemlerinde oldukça fayda sağlar :).

5-) Laravel

Dostlarım Laravel, PHP programlama dili ile geliştirilmiş ve günümüzde sıklıkla kullanılan, popülaritesi fazla olan açık kaynak web frameworküdür. Tamamen kullanıcı dostu olan bu framework MVC ve OOP mimarisini kullanmakla beraber çoğu web projesinde kullanılır :).


Evet dostlarım :). Bu yazımda sizlere framework nedir, nasıl çalışır, framework kullanmanın avantajları ve popüler frameworkler nelerdir bunlardan dilim döndüğünce bahsettim :). Umarım faydalı olmuşumdur dostlarım. Framework kullanmayan dostlarım varsa eğer kendilerini geliştirip bir an önce hem sektörel açıdan hem de kendilerinin gelişmesi açısından framework kullanmalarını öneriyorum :).

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim :)


Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıPHP de JSON Kullanımı
Sonraki YazıPHP de Exception Oluşturma ve Kullanma
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz