.Net framework, Microsoft tarafından sunulan bir yazılım geliştirme platformudur. Bu framework ile Windows Platformu’nda çalışan uygulamalar geliştirilir. 2002 yılında ilk kez 1.0 sürümü ile çıkan .Net platformu bugün 4.8 sürümüne kadar yükselmiştir. Bu platform ile beraber hem form tabanlı hem de web tabanlı uygulamalar yapılabilir. Ayrıca .Net platformu kullanarak web servisleri de geliştirilebilir. Platform aynı zamanda Visual Basic ya da C# gibi farklı programlama dillerini destekler. Bu sayede geliştiriciler uygulama için gerekli geliştirme dilini kolay bir şekilde belirleyebilir. 

.Net Framework Mimarisi

.Net mimarisi 3 temel katman oluşur. Bu katman dil, kütüphane ve ortak dil çalışma zamanıdır. Dil katmanı WinForms, ASP.Net ve ADO.Net’den oluşmaktadır. Kütüphanede Framework Class Library yer alırken, son katmanı da İngilizce Common Language Runtime (CLR) olarak bilinen ortak dil çalışma zamanıdır. Tüm bu katmanlar .Net mimarisinin temelini oluşturur. 

Ortak Dil Çalışma Zamanı

Ortak dil altyapısı .Net programlarının çalıştırıldığı platformdur. Bu platformda kural dışılık işleme, çöp toplama ve farklı programlama dilleri ile çalışma anahtar özellikler arasında yer alır. Bir uygulama yerel makinede var olmayan bir dosyayı açmaya çalıştığında ya da bağlantısı geçerli olmayan bir sunucudan veri çekmeye çalıştığında kural dışılık işleme devreye girer. Çöp toplama özelliği ise artık ihtiyaç duyulmayan kaynakların ortadan kaldırılmasıdır. Bir uygulama dosya üzerindeki tüm işlemleri tamamladığında ve o dosyaya ihtiyaç kalmadığında ya da sunucu üzerindeki bütün işlemleri tamamladığında ve artık sunucu bağlantısına gerek kalmadığında çöp toplama devreye girerek gereksiz dosyaları ya da sunucu bağlantısını ortadan kaldırılarak kaynakların daha verimli kullanılmasını sağlar. 

framework nedir

Ortak dil çalışma zamanının son özelliği ise birden fazla programlama dilini destekleyerek geliştiricilere farklı seçenekler sunmasıdır. Bu katman kendi içerisinde üç farklı yapının bir arada çalışmasıyla ortaya çıkar. Bu yapılar dil, derleyici ve dil yorumlayıcısıdır. Dil, programlamanın ilk seviyesidir. .Net framework geliştirmelerinde en sık kullanılan dillerin başında VB.Net ve C# gelmektedir. İkinci sırada ise derleyici bulunmaktadır. Derleyici yazılan kodu kullanılabilir hale getirir ve her programlama dilinin kendisine özgü bir derleyicisi bulunur. Son yapı ise dil yorumlayıcısıdır. Yorumlayıcı herhangi bir programlama dilinde geliştirilmiş olan .Net programını derleyiciden alarak çalıştırır. 

Sınıf Kütüphaneleri

.Net Framework içerisinde farklı standartlarda sınıf kütüphaneleri bulunur. Bir sınıf kütüphanesi, asıl amaç için kullanılan tüm metodlar ve fonksiyonlardır. Örneğin, tüm dosya seviyesinde operasyonlarını için metodları içeren bir sınıf kütüphanesi bulunur. Bu method bir metin dosyasını okumak ya da yazmak için kullanılabilir. Metodların büyük bir çoğunluğu System.* ya da Microsoft.* isim alanlarına ayrılır. Bu isim alanları metodların mantıklı bir ayrımıdır. 

Diller

Uygulama türleri .Net altında farklı dil kategorilerinde geliştirilmektedir. Bu kategoriler WinForms, ASP.Net ve ADO.Net’tir. Kullanıcıların makinesinde çalışacak olan Notepad gibi form tabanlı uygulamalar için WinForms kullanılmaktadır. Internet Explorer, Chrome ya da Firefox gibi tarayıcı üzerinde çalışmaya yönelik geliştirilen web tabanlı uygulamalar için ASP.Net gerekmektedir. Web uygulamaları, İnternet Bilgi Servisleri yüklü bir sunucuda çalışır ve Asp.Net uygulamalarının çalışmasını sağlar. Bu çalışmanın sonucu kullanıcının tarayıcısında gösterilmektedir. ADO.Net ise Oracle ya da Microsoft SQL Server gibi sunucular ile etkileşimde olacak olan uygulamalar da kullanılmaktadır. .Net framework kullanılarak geliştirilen tüm uygulamalar Microsoft işletim sistemleri tarafından desteklenmektedir ve tüm sürümlerde problemsiz bir şekilde çalışabilmektedir. 

.Net Framework Tasarım Prensipleri

Bu prensipler .Net tabanlı uygulamaları geliştirmek için gerekli olan tasarım ilkeleridir. Birlikte çalışabilirlik, port edilebilirlik, güvenlik, bellek yönetimi ve basitleştirilmiş dağıtım bu tasarım prensiplerini oluşturmaktadır. 

Birlikte çalışabilirlik, geriye dönük destek sağlamaktadır. .Net 2.0 sürümü ile geliştirilmiş bir uygulama .Net 3.5 sürümüne sahip bir bilgisayarda problemsiz bir şekilde çalışabilir. Her yeni güncelleme ile beraber Microsoft, eski sürümlerin en yeni sürüm ile beraber birlikte çalışabilmesinin günü açmaktadır. 

.Net framework kullanılarak geliştirilmiş olan uygulamalar bütün Windows platformlarında çalışabilir. Hatta son yıllarda Microsoft tarafından yapılan geliştirmeler sayesinde iOS ve Linux platformlarına da uygulamalar geliştirilebilmektedir. .Net’in bu özelliği port edilebilirlik olarak bilinmektedir. 

.Net platformunun bir diğer prensibi ise güvenliktir. Platform içerisinde yer alan güvenlik mekanizması hem yetkilendirme hem de doğrulama gibi özellikler sunar. Her bir uygulama kendi güvenlik mekanizmasını oluşturabilir ve kullanıcılara farklı erişim hakkı sağlama olanağı sunabilir.

Ortak dil çalışma zamanı ya tüm işi ya da bellek yönetimini yapar. .Net yapısı gereği program tarafından kullanılmayan kaynakları belirleyebilir ve bu kaynakları ihtiyaca göre yeniden şekillendirebilir. Bu işlem “Garbage Collector” adı verilen çöp toplayıcı program sayesinde yapılabilir. Çöp toplayıcı .Net’in bir parçası olarak çalışır ve bu şekilde bellek yönetimi sağlamaktadır. 

.Net’in son prensibi ise basitleştirilmiş dağıtımdır. Platform üzerinde paket uygulama geliştirmek için kullanılan bu araçlar kullanıcıların bilgisayarlarına dağıtılmaktadır ve bu sayede uygulama otomatik olarak kurulabilir.