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

Framework Nedir? Ne İşe Yarar?

08 Ocak 2020
Bir kişi masada oturmuş, dizüstü bilgisayarının önünde, ellerini klavyenin üzerine koymuş. Beyaz bir gömlek ve koyu renk bir pantolon giymiş gibi görünüyor. Dizüstü bilgisayarın ekranı, yüzeyinde ince beyaz çizgiler bulunan parlak renkli bir küre ile doludur. Ekranın sağ üst köşesinde beyaz kenarlıklı parlak sarı bir daire şeklinde bir logo bulunmaktadır. Bunun üzerinde beyaz arka planlı pembe bir daire var. Dizüstü bilgisayarın sağında turuncu harflerle siyah bir daire var. Ekranın köşesinde de mavi ve beyaz bir logo görülüyor. Kişi dizüstü bilgisayara odaklanmış, muhtemelen önemli bir şey üzerinde çalışıyor.
Framework TürüÖzelliklerKullanılan Ortam
LaravelKendi sitenizi kolayca oluşturmanıza izin verir.Web geliştirme
.Net FrameworkHem form tabanlı hem de web tabanlı uygulamalar oluşturmaya olanak sağlar.Microsoft tabanlı platformlar
ASP .NetWeb tabanlı uygulamalar geliştirmeye olanak sağlar.Microsoft IIS sunucusu
ADO .Net Veri tabanları ile etkileşim kurma yeteneği sağlar.Veri tabanları ile uygulamalar
Windows FormsForm tabanlı uygulamalar geliştirmeye olanak sağlar.Windows masaüstü uygulamalar
Common Language RuntimeÇeşitli programlama dilleriyle çalışma yeteneği sağlar..Net platformu
Class LibraryFarklı işlemler için yöntemler ve fonksiyonlara sahip standart sınıf kütüphanesi içerir..Net platformu
Exception HandlingUygulamada oluşan hataların işlenmesine yardımcı olur..Net platformu
Garbage CollectionArtık istenmeyen kaynakların temizlenmesini sağlar..Net platformu
InteroperabilityÇeşitli .Net Framework sürümleri arasında uyumluluğu sağlar..Net platformu

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.

Laravel, Kendi sitenizi kolayca oluşturmanıza izin verir, Web geliştirme, Net Framework, Hem form tabanlı hem de web tabanlı uygulamalar oluşturmaya olanak sağlar, Microsoft tabanlı platformlar, ASP Net, Web tabanlı uygulamalar geliştirmeye olanak sağlar, Microsoft IIS sunucusu, ADO Net , Veri tabanları ile etkileşim kurma yeteneği sağlar, Veri tabanları ile uygulamalar, Windows Forms, Form tabanlı uygulamalar geliştirmeye olanak sağlar, Windows masaüstü uygulamalar, Common Language Runtime, Çeşitli programlama dilleriyle çalışma yeteneği sağlar, Net platformu, Class Library, Farklı işlemler için yöntemler ve fonksiyonlara sahip standart sınıf kütüphanesi içerir, Net platformu, Exception Handling, Uygulamada oluşan hataların işlenmesine yardımcı olur, Net platformu, Garbage Collection, Artık istenmeyen kaynakların temizlenmesini sağlar, Net platformu, Interoperability, Çeşitli Net Framework sürümleri arasında uyumluluğu sağlar, Net platformu
framework net framework yazılım laravel kodlama laravel eğitimi 
Bu, profesyonel bir ortamda duran iyi giyimli bir adamın görüntüsüdür. Beyaz gömlekli siyah bir takım elbise giymekte ve desenli bir kravat takmaktadır. Saçları düzgünce taranmış ve yüzünde ciddi bir ifade var. Bir eli cebinde, diğer eli yanında, sade bir arka planın önünde duruyor. Kendinden emin ve başarılı görünüyor. Duruşu kendinden emin ve kararlı görünüyor. Doğrudan kameraya bakıyor, bu da çevresinin farkında olduğunu gösteriyor. Bu adam güç ve sofistike bir hava yayıyor ve muhtemelen alanında önemli bir figür.
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.
Bu görüntü, siyah ekranlı bir dizüstü bilgisayarı ve üzerinde görüntülenen bir logoyu göstermektedir. Logo, ortasında beyaz metin bulunan kırmızı bir daire gibi görünüyor. Metin bir şirket adı veya sloganı gibi görünüyor. Dizüstü bilgisayarın kendisi gümüş renginde ve klavyenin altında bir trackpad var. Dizüstü bilgisayar pürüzsüz, düz bir yüzey üzerinde durmaktadır. Resmin arka planı net olarak görünmüyor, ancak nötr bir ton gibi görünüyor. Bu dizüstü bilgisayar, teknolojinin bir şirketi veya markayı temsil etmek için nasıl kullanılabileceğine dair harika bir örnek.
Nedir?

Laravel Framework Nedir?

26 Aralık 2019
Bir çizgi film karakteri bir bilgisayarın yanında resmedilmiştir ve karakter bağdaş kurmuş oturmaktadır. Bilgisayar ekranında birkaç metin kutusu vardır ve ekranın alt kısmına yakın bir yerde yeşil ve mavi bir işaret görülmektedir. İşaretin solunda mavi ve sarı bir yılan logosu, sağında ise bir grafik tasarım logosu yer almaktadır. Çizgi film karakterinin üzerinde beyaz bir kare üzerinde bir büyüteç ve karakterin altında siyah çizgili benzer bir beyaz kare yer almaktadır. Son olarak, karakterin sağında büyük yeşil ve mavi bir işaret konumlandırılmıştır. Çizgi film karakteri ve bilgisayar beyaz bir arka planla çevrelenmiş ve bilgisayarın yanında duran bir adam görüntüsü yakalanmıştır.
Yazılımlar

Django İle Neler Yapılabilir?

26 Temmuz 2021
Bu görüntü, yüzeyine metin ve sembollerin dağılmış olduğu bir bilgisayar ekranını göstermektedir. Metin farklı boyut ve yazı tiplerinden oluşmakta, semboller ise rakam ve noktalama işaretlerinin bir kombinasyonu gibi görünmektedir. Ekranın sağ üst köşesinde, ortasında beyaz bir 'B' harfi bulunan büyük mor bir kare yer alıyor. Ekranın sağ tarafında, etrafında beyaz bir hale bulunan sarı ve beyaz bir daireden oluşuyor gibi görünen bulanık bir ışık görüntüsü var.
Online Eğitim

Bootstrap Kursu Nedir? Ne İşe Yarar?

04 Mart 2021