What is Framework

Framework Nedir

Yazılımcıların sıklıkla içli dışlı olduğu kavramlardan biri framework’tür. Kütüphane olarak da bilinen framework projenin daha hızlı bir şekilde sonuçlanabilmesi amacıyla geliştirilmiş olan yapılardır. Önceden hazırlanan bu yapılar geliştirilen projeyi kolaylaştıracağından dolayı günümüzde birçok framework geliştirilmiştir.

Framework Ne işe Yarar?

Yukarıda da belirttiğimiz üzere yazılım dillerinin en basit hale indirgenmiş ve yapılan işi hızlandıran yapılara framework denilmektedir. Bu cümleden çıkarımla bir geliştirme işlemi yapıyorsanız ve projenize ekleyeceğiniz yapının hazır bir şekilde frameworkde bulunması kod yazma işleminizi neredeyse bir satıra indirgeyecektir. Bu işlemde doğrudan yapılan projenin daha hızlı bir şekilde sonuçlanmasını sağlayacaktır.

Frameworkleri bir örnek üzerinden anlatmak gerekirse örneğin Php diliyle veri tabanı işlemi, üyelik, kayıt gibi işlemleri yaptığınızı farz edelim. Bu işlemleri sadece Php kullanarak yapmanız sizlerin zamanını alacaktır. Bu sorunun üstesinden gelebilmeniz için ortaya Php dili kullanılarak birçok framework geliştirilmiştir. Hazır yapılardan oluşan bu frameworklere örnek olarak Laravel, Codeigniter, Yii verilebilir.  Bu kütüphaneler kullanarak yukarıda belirttiğim işlemleri daha hızlı bir şekilde gerçekleştirebilirsiniz. Ayrıca Php kütüphanelerinden biri olan Laravel hakkında detaylı bilgiye sahip olmak istiyorsanız önceki makalemize göz atmanızı tavsiye ederim.

Framework Nasıl Kullanılır?

Dilerseniz frameworklerin nasıl kullanıldığını CSS dilinin en çok tercih edilen kütüphanelerinden biri olan Bootstrap kütüphanesi üzerinden anlatalım.

Web geliştiricilerinin sıklıkla tercih ettiği kütüphanelerden biri olan Bootstrap, Twitter tarafından geliştirilmiştir. Birçok hazır yapıyı bünyesinde barındırdığından dolayı bu kütüphane tercih edilme oranını her geçen gün arttırmaktadır. Hazır sınıfları çağırarak bu işlemi yapan geliştiricilerin işleri büyük ölçüde kolaylaştırmıştır. Aynı zamanda Bootstrap kullanılarak mobil uyumlu web siteleri daha kolay bir şekilde yapılmıştır. Kütüphanenin açık kaynak olması onun kolayca değiştirilebildiğinin de bir göstergesidir. Yani kütüphanede sevmediğiniz özellikleri kodların içine girerek kolay bir şekilde düzenleyebilirsiniz.

Framework Kullanmanın Avantajları

    Proje geliştirilirken sizlere zaman kazandırmaktadır.
    Sürekli olarak test edildiğinden dolayı güvenlidir.
    Daha temiz kod yazmada oldukça etkilidir.
    Projeye değer katmaktadır.
    Sürekli geliştirildiğinden dolayı günceldir.
    Ekip olarak geliştirilen projeyi daha etkin hale getirmektedir.
    Component yazmak isteyenlere birtakım kolaylıklar sağlamaktadır.

Framework Kullanmanın Dezavantajları

    Normal kod yazma göre daha yavaştır.
    Hazıra konduğunuzdan dolayı programlama bilginiz geriler.
    Tek bir yanlışta proje eror yani hata verebilir.
    Öğrenmesi zaman alabilir.
    Kütüphanenin hantal bir yapıda olması projenin performansını yavaşlatabilir.

Framework Ne Zaman ve Kimler Tarafından Kullanmalıdır?

“Amerika’yı yeniden keşfetmeye gerek yok” sözü tam olarak frameworklerin neden kullanılması gerektiğini özetliyor. Bir dili öğrendikten sonra o dil ile gerçekleştireceğiniz projenin daha hızlı ve pratik bir şekilde yapılabilmesi için o dil kullanılarak geliştirilmiş kütüphaneleri kullanmalısınız. Bu size zamandan büyük oranda tasarruf sağlayacaktır. Fakat frameworkleri kullanıp kullanmayacağınız sizin tercihinize kalmış bir durum. OPP yani Object Oriented Programming biliyorsanız framework kullanmanız ve bir ekip tarafından geliştirme işlemi yapıyorsanız projenin daha düzenli bir şekilde ilerleyebilmesi için framework kullanmanız gerekebilir. Hangi frameworkü tercih edip edemeyeceğiniz aşağıdan inceleyebilirsiniz.

Arayüz Frameworkleri

Ortaya daha temiz ve güzel işler çıkabilmesi için CSS dilinden faydalanan geliştiriciler bu dil vasıtasıyla tasarımsal birçok işlemi kolaylıkla yapmıştır. Fakat sürekli olarak yapılan işlemleri tekrar etmek zamanınızı alacaktır. Bu nedenle arayüz geliştirme işlemi yaparken işlemlerin daha hızlı yapılabilmesi için birtakım kütüphaneler geliştirilmiştir. Bu kütüphaneleri aşağıdan inceleyebilirsiniz.

CSS Frameworkleri

    Bootstrap
    Foundation
    Kube
    Pure
    Skeleton

Sadece yukarıdaki kütüphaneleri kullanmak tasarımı işlevsel hale getirme açısından yetersiz kalmaktadır. Javascript dili vasıtasıyla bu sorunun üstesinden kolaylıkla gelebilirsiniz. Bu dil vasıtasıyla animasyonlar yapabilir veya sitenizi daha dinamik bir hale sokabilirsiniz. Fakat bu dili sadece kullanarak geliştirme yapmanız işlerinizi zorlaştıracaktır. Bu zorluğu aşağıdaki kütüphaneleri kullanarak ortadan kaldırabilirsiniz.

Javascipt Frameworkleri

    JQuery
    AngularJS
    VueJS
    ReactJS
    TypeScript
    NodeJS

Arkayüz Frameworkleri

Proje geliştirirken yapılan işlemler sadece ön taraftan ibaret değildir. Yapılan işlemin illaki arka tarafı da olacaktır. Bu arka taraf da yapılan işleri kolaylaştırmak amacıyla da birtakım kütüphaneler ortaya çıkmıştır. Bunları aşağıdan dillerine göre inceleyebilirsiniz.

PHP Frameworkleri

    PhalconPHP
    Laravel
    Symfony
    Yii
    Codeigniter

C# Frameworkleri

    ASP
    ASP.NET

Python Frameworkleri

    Django
    Flask