bylge-logo

    Bylge

    Library İle Framework Arasındaki Fark

    Eğer yeni yazılıma başladınız veya başlamayı düşünüyorsanız, hangi yazılım dili ile uğraştığınızdan bağımsız sürekli olarak iki farklı tanım ile karşı

    Picture of the Ali Söylemez

    Ali Söylemez

    @alisoylemez




    Eğer yeni yazılıma başladınız veya başlamayı düşünüyorsanız, hangi yazılım dili ile uğraştığınızdan bağımsız sürekli olarak iki farklı tanım ile karşılaşıyorsunuzdur, Library ve Framework. İkisi arasındaki ayrımı sözel olarak ifade etmek ve anlamak çok kolay. Yazılıma ilk başladığım zamanlarda bende, sözel olarak ikisi arasındaki farkı anlamlandırabilmiştim ancak pratik olarak nasıl bir şey olduğunu gerçekçi konuşmak gerekirse çok kavrayamamıştım. Büyük ihtimal sizde eğer yeni başladıysanız tanım olarak anlayacaksınız ancak gerçek hayatta uygulaması nasıl olacağı konusunda kafanızda bir takım soru işaretleri olacaktır. Bu yüzden şimdilik sadece tanım olarak bilmeniz bile yeterli olur, ilerleyen dönemlerde kod yazmaya başladıkça ayrımı rahatlıkla yapacaksınız, ben zaten programlamayı biliyorum diyorsanız o zaman zaten çantada keklik bir konu.


    Framework ve Library 'in ortak noktası, birileri tarafından yazılan ve başkaları tarafından kullanılabilen ortak kod yapılarıdır. İkisinde de başkaları tarafından oluşturulmuş kodların kullanımı söz konusudur. Bu noktada ikisi arasında işlevsel anlamda bir fark mevcut değildir. Bu iki farklı yazılım inşası, temel olarak bir kolaylaştırıcı kod yapısının derlemeleridir. İki farklı yapıda, ortaya çıkaracağınız ürün için bir takım kolaylıklar sağlarlar. Bir önceki cümlelerden anlayacağınız üzere, ikisi arasındaki kesinlikle amaç anlamında bir fark yok.





    Library ile Framework ‘ün ayrıştığı nokta teknik kısımdır. İki arasındaki temel teknik fark, kodun nasıl çağrıldığıdır. Library kullanırken, library size bazı özellikler vererek kullanmanızı sağlar, bu şekilde almış olduğunuzu kodu kendi sisteminize uygularken size kodu nerede ve ne zaman kullanacağınıza karışmaz veya bir diğer deyişle dikte etmez. Framework ise Library'in tersine kullanacağız özelliğe göre kodu nerede ve ne zaman kullanacağınız söyler, kullanacağız bu işlev, eğer Framework dokümanın belirtildiği gibi kullanılmaz ise kullanım dışı kalır.


    Library'lerin ürünlerde ve programlarda kullanımı sırasında uygulamaya oluşturan kişi, Library'in özelliklerini kullanımında tamamen bağımsız hareket eder. Kodun herhangi bir yerinde ve istediği zaman Library 'in vermiş olduğu kodları kullanabilir. Frameworkte ise verilen araçların kullanımı her zaman olmasada genellikle belli kurallara haizdir. Mesela ben bu site içerisinde bir JS Framework'ü olan React'ı kullanıyorum. Bu kullanım sırasında React bana vermiş olduğu özellikler için belirli sınırlamalar belirlemiş, eğer bu sınırların dışına çıkarsam kodum çalışmaz. Buradan da anlayacağınız üzere, yazmış olduğum kod React tarafından kontrol edilmekte, çağrılmakta ve buna göre işlem yapılmakta.


    Library ‘ler de ise böyle bir zorunluluk mevcut değildir. Örneğin, bir JS kütüphanesi olan JQuery, size şurada kodu yazın ve şundan sonra bu işlemi yapın gibi bir direktif söylemez sadece elindeki araçları gösterir şunu, bunu veya onu bu verdiğim özelliklerle gerçekleştirebilirsiniz der. Siz, JQuery ile bir çalışma yaptığınız zaman, kütüphaneden işinize yarar özellikleri alır ve kullanmaya başlarsınız, JQuery burada herhangi bir kontrol yapmaz. Konunun özeti, siz yazmış olduğunuz kod ile library ' i çağırırsınız, framework ise sizi çağırır.


    İyi çalışmalar



    Published Date:

    May 01, 2020

    Updated Date:

    December 12, 2023