AnasayfaBlogFramework Nedir? Ne İşe Yarar?
Bilişim

Framework Nedir? Ne İşe Yarar?

08 Ocak 2020
Framework Nedir? Ne İşe Yarar?

Framework, bilgisayar programcılığında yazılım geliştirmeye ve sistem oluşturmaya yarayan bir araçtır. Bu aracın kendisi bir süreç kümesidir, bu yüzden yazılım mühendisleri tarafından framework soyutlama olarak tanımlanır. Bilgisayar programlamasında soyutlama, mekansal veya zamansal detayları kaldırma işlemidir. Bu süreçte framework, ayrıntıların düzenlenmesini basitleştirerek sistemin düzgün çalışmasını sağlamak için sadece en gerekli yapısal şeyleri bırakır.

Framework, zamandan tasarruf etmek ve kısayollar sağlamak için tasarlanmıştır. Framework, bir uygulamayı geliştirme sürecini optimize eder ve çalışmayı basitleştiren kodun kullanılmasına, değiştirilmesine ve entegre edilmesine izin verir. Günümüzde kullanılan özellikle ticari yazılımların geliştirilmesinde framework gereklidir. Framework olmazsa, bir uygulamayı geliştirmek için çok daha fazla zaman ve emeğe ihtiyaç duyulur.

Kullanım amacına göre çeşitli frameworkler vardır. Bunların arasında en popüler olanlardan birisi Laravel’dir. Laravel sayesinde kendi sitenizi kolayca oluşturabilirsiniz. İster hobi maksatlı isterse işletmenize yönelik olsun Laravel ile yönetilebilir bir site yapmak oldukça kolaydır. Eğer yönetilebilir bir web sitesi oluşturarak özel bir deneyim kazanmak istiyorsanız, Enstitü tarafından online eğitim olarak sunulan Laravel eğitimi tam size göre.

Net Framework Nedir?

Net framework, Microsoft tarafından geliştirilen bir yazılım geliştirme platformudur. Net framework’ün ilk versiyonu 2002 yılında piyasaya sürülmüş ve sürümü 1.0 olarak adlandırılmıştır. Net framework o günden bugüne çok büyük yol katetmiş ve mevcut sürümü 4.7.1’e yükselmiştir. Net framework hem form tabanlı hem de web tabanlı uygulamalar oluşturmak için kullanılabilir. Bununla birlikte web hizmetleri de Net framework kullanılarak geliştirilebilir. Net framework ayrıca Visual Basic ve C# gibi çeşitli programlama dillerini de destekler. Böylece yazılımcılar gerekli uygulamayı geliştirmek adına programlama dilleri seçebilir. 

Net Framework Bileşenleri Nelerdir?

Ortak Dil Çalışması (Common Language Runtime): Ortak Dil Altyapısı veya CLI (Common Language Infrastructure), Net programlarının yürütüldüğü bir platformdur. CLI aşağıdaki temel özelliklere sahiptir.

Özel Durum İşleme (Exception Handling): Özel durumlar, uygulama yürütüldüğünde oluşan hatalardır. İstisnalar:

  • Bir uygulama yerel makinede bir dosyayı açmaya çalışırsa, ancak dosya yoksa.

  • Uygulama bir veri tabanından bazı kayıtları almaya çalışırsa, ancak veri tabanına bağlantı geçerli değilse.

Çöp Toplama (Garbage Collection): Çöp toplama, ihtiyaç kalmaması nedeniyle artık istenmeyen kaynakları kaldırma işlemidir. Örnekler:

  • Uzun Süre Kullanılmayan Bir Dosya Tanıtıcısı: Uygulama bir dosyadaki tüm işlemleri tamamladıysa, dosya tanıtıcısı artık gerekli olmayabilir.

  • Veri tabanı Bağlantısı Artık Gerekli Değil: Uygulama bir veri tabanındaki tüm işlemleri tamamladıysa, artık veri tabanı bağlantısı gerekmeyebilir.

Çeşitli Programlama Dilleriyle Çalışma: Bir yazılımcı gerekli uygulamayı geliştirmek için istediği programlama dilini seçebilir.

Sınıf Kütüphanesi (Class Library): Net framework, bir dizi standart sınıf kütüphanesi içerir. Sınıf kütüphanesi, temel amaç için kullanılabilecek bir yöntem ve fonksiyon koleksiyonudur. Örneğin, tüm dosya düzeyinde işlemleri gerçekleştirme yöntemlerine sahip bir sınıf kütüphanesi vardır. Dolayısıyla, bir dosyadan metni okumak için kullanılabilecek bir yöntem vardır. Benzer şekilde, bir dosyaya metin yazma yöntemi de vardır. Yöntemlerin çoğu System.* veya Microsoft.* isim alanlarına (namespace) ayrılmıştır.  İsim alanı, yöntemlerin mantıksal bir şekilde ayrılmasıdır. (Yıldız işareti *, yalnızca Sistem veya Microsoft isim alanının altındaki tüm yöntemlere başvuru anlamına gelir.)

Diller (Languages): Net framework’de oluşturulabilecek uygulama türleri genel olarak aşağıdaki kategorilere ayrılmıştır.

WinForms: Bu, bir son kullanıcı makinesinde çalışacak form tabanlı uygulamalar geliştirmek için kullanılır. İstemci tabanlı uygulama olarak Notepad bunun bir örneğidir.

ASP.Net: Bu, Internet Explorer, Chrome veya Firefox gibi herhangi bir tarayıcıda çalıştırılmak üzere oluşturulan web tabanlı uygulamalar geliştirmek için kullanılır.

  • Web uygulaması, Internet Information Services'in yüklü olduğu bir sunucuda işlenir.

  • Internet Information Services veya IIS, bir ASP.Net uygulamasını yürütmek için kullanılan bir Microsoft bileşenidir.

  • Yürütme sonucu, daha sonra istemci makinelere gönderilir ve çıktı tarayıcıda gösterilir.

ADO.Net: Bu teknoloji, Oracle veya Microsoft SQL Server gibi veri tabanları ile etkileşim kurmak maksadıyla uygulamalar geliştirmek için kullanılır.

Net Framework Tasarım İlkeleri

Birlikte Çalışabilirlik (Interoperability): Net framework programcılara birçok destek sağlar. Diyelim ki Net framework’ün eski bir 2.0 sürümü üzerine kurulmuş bir uygulamanız var. Aynı uygulamayı Net framework’ün daha yüksek olan 3.5 sürümüne sahip bir makinede çalıştırmayı denediniz. Uygulama hala çalışacaktır. Çünkü yapılan her güncellemede Microsoft, eski framework sürümlerinin en son sürümle birlikte çalışabilirliğini sağlamaktadır.

Taşınabilirlik (Portability): Net framework’e dayanan uygulamalar herhangi bir Windows platformunda çalışacak şekilde yapılabilir. Son zamanlarda Microsoft, tüm ürünlerinin iOS ve Linux gibi diğer platformlarda da çalışmasını sağlayacak şekilde taşınabilir olması üzerinde çalışıyor.

Güvenlik (Security): Net framework'ün iyi bir güvenlik mekanizması vardır. Dahili güvenlik mekanizması, uygulamaların her türlü doğrulanmasına yardımcı olur. Bütün uygulamalar güvenlik mekanizmalarını açıkça tanımlayabilir. Güvenlik mekanizmaları, kullanıcıya ya da çalışan programa erişim izni vermek için kullanılır.

Bellek Yönetimi (Memory Management): Ortak Dil çalışma zamanı tüm işi ya da bellek yönetimini yapar. Net framework, çalışan bir program tarafından kullanılmayan kaynakları görebilme özelliğine sahiptir. Tespit ettikten  sonra bu gereksiz kaynakların kaldırılmasını sağlar. Bu işlem, Net framework’ün bir parçası olarak çalışan Çöp Toplayıcı adlı program aracılığıyla yapılır. Çöp Toplayıcı düzenli aralıklarla çalışır.

Basitleştirilmiş Dağıtım (Simplified Deployment): Net framework, üzerinde oluşturulan uygulamaları paketlemek için kullanılabilecek araçlara da sahiptir. Bu paketler daha sonra istemci makinelere dağıtılabilir. Paketler daha sonra uygulamayı otomatik olarak yükler.

Framework ve Library Arasındaki Fark Nedir?

Hem framework hem de library, geliştiricilerin ortak sorunlarını çözmek için kullanılan farklı kişilerce yazılmış yeniden kullanılabilir kodlardır. Her ikisinin de amacı, ortak sorunları daha kolay bir şekilde çözmenize yardımcı olmaktır. Geliştiriciler genellikle framework ve library terimlerini birbirinin yerine kullanırlar. Ancak aralarında küçük de olsa bir fark vardır.

Library ve framework kavramları arasındaki farkı benzetme yaparak açıklamaya çalışalım. Library, ev eşyaları pazarlayan bir mağaza gibidir. Zaten bir eviniz var ama ilave hazır mobilya satın alarak dekorasyonunu zenginleştirmek istiyorsunuz. Mobilya mağazaları hazır olarak çeşitli ürünler sunuyorken kendi kendinize sıfırdan bir mobilya üretmenize gerek yok.

Diğer yandan framework, yeni bir ev inşa etmek gibidir. Mimari yapı ve tasarım söz konusu olduğunda tasarladığınız planı gerçekleştirecek yüklenici firma veya mimarla anlaşırsınız. Nihayetinde, yüklenici firma veya mimar sizin planınızı uygulayacak, ayrıca beklentilerinizi yani girdilerinizi ne zaman ve nerede karşılayacağı hususunda size raporlar sunacaktır.

Hem framework hem de library, bazı ortak görevleri daha az ayrıntılı bir şekilde gerçekleştirmenize yardımcı olan farklı kişiler tarafından yazılmış kodlardır. Framework, programın kontrolünü tersine çevirir ve geliştiriciye neye ihtiyacı olduğunu söyler. Library ise bunu yapmaz. Library, ihtiyaç duyulduğu yer ve zamanda programcının yapacağı ilave kodlar aracılığıyla çağrılır.

framework net framework yazılım laravel kodlama laravel eğitimi 
Murat Çelik
Murat Çelik
Blog Yazarı

Çalıştığı resmi kurumda halen Şube Müdürü olarak görev yapmakta olup liderlik, etkili iletişim ve ekip çalışması konularında yeterli tecrübeye sahiptir. Elektrik-Elektronik Mühendisliği mezunudur. Editör ve blog yazarı kimliğinin yanısıra amatör fotoğrafçı ve satranç hakemidir.

Benzer Yazılar
Doğru ve faydalı bilgiler sağlama konusunda kararlı olan uzman ekibimizle blogumuzu her zaman yeni makaleler ve videolarla güncelliyoruz. Güvenilir tavsiyeler ve bilgilendirici içerikler arıyorsanız, blog sayfamıza mutlaka göz atın.