Bilindiği üzere internet dünyasında farklı programlama dilleri bulunduğu gibi bir programlama dili için geliştirici platformları da mevcuttur. Bunlardan biri olan ve son zamanlarda oldukça çok rağbet gören .Net Framework, Microsoft tarafından geliştirilen popüler ara yüz platformlarından biridir.
İlk duyulduğu anda kulağa biraz ilginç gelen ve pek çok kişinin “.NET Framework nedir” diye merak ettiği kavram içerisinde aslında ilk önce uygulama geliştirici ara yüzünü açıklamak gerekir. Sıkça duyulan uygulama geliştirici ara yüzü, bir programcının herhangi bir yazılım uygulaması geliştirirken kullandığı program olarak tanımlanabilir.

Bu açıklamalardan hareketle, tahmin edilebileceği gibi programların yazıldığı arayüzlerin kendileri de aslında birer uygulamadır. Büyük firmalara ait yazılımcıların kolay şekilde programlamalarını yapmaları ve geliştirmeleri adına bu uygulama programları kullanılır. Diğer bir deyişle, framework nedir sorusunu merak edenlere aslında bu kavramın bir kütüphaneler kaynağı olduğu söylenebilir.
Yazılım sektörünün geçmiş birkaç yıl içinde çok daha fazla büyümesi ile birlikte yazılım programcılığı da önem kazanmıştı. Ancak bu ilerleyiş, geliştirici ara yüzlerin yeterince ihtiyacı karşılamamasına neden oldu. Bu talep ihtiyacı sonucu dünya devi Microsoft tarafından uygulama geliştirici ara yüzü olarak .Net Framework platformu ortaya çıkarıldı.

Framework anlamı itibarıyla “geliştirme çatısı” demektir. Gerçekten de hangi yazılım dili kullanılırsa kullanılsın, platformun genel amacı yapılan işlemlerin süresini kısaltmak, yazılıma bir iskelet oluşturabilmektir. Örneğin, popüler PHP framework olan Laravel ile üyelik kayıt işlemleri ya da veri tabanı işlemleri yapmak sıfırdan PHP kodlamaktan çok daha kolaydır.
Şimdiye dek en sık kullanılan, Visual Studio ile Windows Server ile ilişkilendirilen .NET Framework sürümleri şu şekildedir:
- .NET Framework 1.0
- .NET Framework 3.5
- .NET Framework 4.0
- .NET Framework 4.5.1
- .NET Framework 4.5.2
- .NET Framework 4.6
- .NET Framework 4.6.2
- .NET Framework 4.7.1
- .NET Framework 4.7.2
- .NET Framework 4.8
.NET Framework Kullanmanın Faydaları
- Platform ile NET tabanlı uygulamalar oluşturmak ve çalıştırmak için gerekli ortam kullanılabilir.
- Hazır kütüphaneler ile programlama süresi kısaltılabilir. Böylece sonuca çok daha hızlı ulaşılabilir.
- Framework ile oluşturulan tüm programların Microsoft platformlarında çalışacağından emin olunabilir.
- Framework’ün bakım ve yönetimi kolaydır. Pek çok Microsoft platformunda oluşturulan programlar otomatik yazılımlar ile güncellenir. Küçücük bir soruna karşı dahi onlarca yöntem ve araç geliştirilmiştir.
- Birçok platforma aynı anda hitap edilebilir. Tablet, mobil (Microsoft Phone ve RT), masaüstü programlamada, Aspx ve Azure gibi internet servislerinde, XBOX gibi konsollarda birlikte çalışabilirliği yüksektir. Mobil sistemlerde daha çok Framework apk sistemleri tercih edilir.

- Framework güvenli çalışma ortamı sunar. Her Windows ile yeni bir sürüme kavuşmasının yanı sıra her ayın ikinci Salı günü geleneksel Windows güncelleme günlerinde otomatik olarak güvenlik güncelleştirmelerine sahip olur. Platformda ciddi bir güvenlik sorunu çıkarsa, hızla güncelleme yapılır.
- XML formatı ile uyumlu şekilde çalışır. Böylece sayfaların kolayca yazılmasını sağlayacağından daha güçlü ve esnek bir hale getirecektir. Ayrıca NET kodları çağrıldığında programlama dilleri arasında herhangi dönüştürme yapmaya ihtiyaç duymaz.
- Framework, nesne yönelimi faaliyeti konusunda oldukça iyidir. Tekrarlanan senaryolara etkili şekilde cevap verilmesini sağlar. Böylece uygulamalara sadece erişim sağlamanın yanı sıra kolayca kontrol edilmesini de sağlar.
.NET Framework Mimarisi
Microsoft Framework .NET mimarisi temel olarak 3 katmandan oluşur. Bu katmanlar dil, kütüphane ve ortak dil çalışma zamanıdır. Dil katmanı olarak ADO.Net, ASP.NET ve WinForms kullanılır. Kütüphane katmanı içerisinde Framework Class Library yer alır. Son katman olan ortak diller alanı ise “Common Language Runtime (CLR)” bilinir. .NET Framework mimarisi tüm bu katmanların bileşiminden oluşur.

Ortak Dil Çalışma Zamanı
.NET programlarının çalışmalarını kontrol eden birime Ortak Dil Çalışma Zamanı (common language runtime) denir. .NET’deki kütüphaneler ile program kodu derlenir ve Microsoft Intermediate Language (MILS) olarak adlandırılan Microsoft Ana Dili’ne çevrilir. Bu alanda oluşturulan Assembly CLR tarafından da herhangi bir sisteme entegre ederek çalıştırılabilir.
Ortak dil çalışma zamanı katmanı, bellek yönetimi (memory), veri erişimi, kriptografi, web uygulama geliştirme, süreç (process), thread (iş parçacığı), sayısal algoritmalar, ağ erişimi (network connection) ve güvenlik (security) gibi hizmetler sunan sanal bir makine uygulaması olarak da düşünülebilir. Özellikle son güncellemeler ile birlikte birden fazla programlama dilini destekler hale getirilmiştir.

Ortak dil çalışma zamanı katmanının kendi içerisinde yer alan dil, derleyici ve dil yorumlayıcı yapıları yer alır. Dil, programlamanın ilk seviyesi olarak tanımlanır. .NET Framework yazılımlarında en çok kullanılan dillerin başında VB.Net ve C# gelir. İkinci yapı olan derleyici, yazılan kodları kullanılabilir hale getiren sistemdir. Her programlama dilinin kendine özel bir derleyici yapısı yer alır.
Ortak dil çalışma zamanı içerisindeki son yapı ise dil yorumlayıcısıdır. Yorumlayıcı, herhangi bir programlama dilinde geliştirilen .NET programını derleyici aracılığı ile alır ve sistemde çalışır hale getirir. Bu sayede pek çok yazılımcı farklı ülkelerden yazılım programına dahil olsalar da temel kullanılan bu dil yorumlayıcı yapı sayesinde programlamaları zorlanmadan yapabilir.
Sınıf Kütüphaneleri
.NET Framework içinde standart özelliklere sahip sınıf kütüphaneleri yer alır. Sınıf kütüphanesi, aslında amaç çerçevesinde kullanılan yöntemler ile metotlardır. Örneğin, tüm dosya seviyelerindeki operasyonlar için metotları da içeren bir sınıf kütüphanesi yer alır. Bu metotlar, metin dosyası okumak veya yazmak için de kullanılabilir. Metotların büyük bir çoğunluğu Microsoft.* ya da System.* gibi isim alanlarına ayrılır.

Dil
.NET altında farklı dil kategorileri de geliştirilir. Bu kategoriler ASP.NET, ADO.NET ve WinForms‘tur. Örneğin, pek çok bilgisayarda da var olan Notepad gibi form tabanlı uygulamalarda WinForms kullanılır. Ancak Chrome, Firefox ya da Internet Explorer gibi tarayıcı çalıştırmak için geliştirilen web uygulamalarında ise ASP.Net kullanılması gerekir.
Benzer şekilde internet bilgi servisleri ya da diğer web uygulamaları gibi yazılımlar yüklü bir sunucu performansı gerektirdiği için ASP.Net kullanımı tercih edilir. Platformun dil yapısında yer alan ADO.Net ise sunucular ile etkileşim halinde olacak olan Oracle ya da Microsoft SQL Sunucu gibi uygulamalarda tercih edilir.
Microsoft Intermediate Language (MSIL)
İşlemciden bağımsız şekilde oluşturulan komut seti Microsoft Intermediate Language (MSIL) olarak adlandırılır. Komut seti içinde yer alan nesnelerin yüklenmesi, depolanması ve metot çağrımı gibi komutlar yer alır. Microsoft Intermediate Language (MSIL) olarak bilinen bu komut seti temelde .NET Framework ile yazılan bir kaynak kodun derlenmesi sonucu oluşturulur.
Common Type System (CTS)
Common Language Runtime içerisindeki en zengin ve güçlü sistem Common Type System olarak da bilinen ortak tür sistemi olarak belirtilir. CTS, Pek çok programlama dilinde yer alan türleri ile bu dillere ait operasyonları da destekler. Programlama dilinde yer alan türlerin Common Type System içinde kurulumu hali hazırda yapılmış durumdadır.

.NET ile Neler Yapılabilir?
.NET Framework’ü kullanmak ve yeni bir yazılım geliştirmek isterseniz, Microsoft’un resmi web sitesinden en son çıkan güncel sürümünü indirebilir ve anlaşma metnini kabul ederek hemen kullanmaya başlayabilirsiniz. Bu aşamada framework agreement nedir diye merak eden kullanıcılar, yine Microsoft’un sitesinden resmî kabul şartlarını ve kurallarını inceleyebilirler.
.NET platformu ve dolayısıyla Visual Studio yardımı ile şu alanlarda uygulama ya da program geliştirilebilir:
- Windows Phone uygulamaları
- Web uygulamaları (ASP.Net)
- SharePoint web uygulamaları
- Windows uygulamaları
- Silverlight web uygulamaları
- Windows Azure aracılığıyla cloud uygulamaları
- Microsoft Office için eklentiler
- Veri tabanı uygulamaları

Bunların dışında eğer yazılım geliştirme amacınız olmasa ve bu programları kullanıyor olsanız dahi hali hazırda bilgisayarınızda .Net Framework kuruludur. Servis paketi ile birlikte gelen Microsoft programları içerisinde yer alır. Yani dilediğiniz zaman Framework aktif etme çabasına girmeden de platforma hemen erişebilir, platformun benzersiz özelliklerini keşfe çıkabilirsiniz.