Bilgisayarınıza sık sık yazılım yükleyen biriyseniz, birçok yazılımın suram esnasında .NET Framework paketini de beraberinde yüklemek istediğini fark etmişsinizdir. Bu paket genelde geliştiricileri ilgilendirse de, bu isimde bir programın neden yüklenen programlar kısmında göründüğünü merak eden kullanıcılar da olacaktır. Bu nedenle .NET Framework isminin ne tabir ettiğini ve sisteminizde neden yer kapladığını anlatacağız.
Öncelikle bir framework nedir onu açıklayalım. Framework, içerisinde uygulama geliştirme arayüzleri (API) ve programcıların muhtaçlık duyduklarında çağırabilecekleri paylaşımlı bir kod kütüphanesi barından paketlere denir. .NET Framework’ta ise paylaşımlı kod kütüphanesi Framework Class Library (FCL) olarak isimlendiriliyor. Bu kütüphanedeki kodlar pek çok çeşit işlev çalıştırabiliyor. Bu sayede programcılar ufak süreçler için gerekli işlevleri sıfırdan yazmak zorunda kalmıyor.
Diğer framework paketlerine kıyasla .NET, ayıca uygulamalar için çalışma alanı (runtime enviroment) da sunuyor. Çalışma alanları, içinde uygulamaların çalıştığı sanal makine gibisi bir kum havuzudur denebilir. Java ve Ruby on Rails üzere pek çok yazılım geliştirme platformu benzeri çalışma alanları sunmaktadır. Kelam konusu .NET olunca, bu çalışma alanı Common Language Runtime (CLR) olarak isimlendirilir. Örneğin bir kullanıcı bir uygulamayı çalıştırdığında, uygulamanın kodları çalışma alanında makine lisanına derlenir ve akabinde uygulama çalıştırılır.
Uygulamaları çalışma alanları içinde çalıştırmanın birden fazla avantajı mevcut. Bunların en büyüğü ise uyumluluk. Geliştiriciler kodlarını C#, C++, F#, Visual Basic üzere sık kullanılan programlama lisanlarında yazabilir ve ve bu kodlar .NET dayanaklı bütün donanımlar üzerinde çalıştırılabilir.
Microsoft vakit içinde .NET uygulamaları ile Windows dışı platformlar ortasındaki uyumluluğu artırmak için birden fazla projeye imza attı. Bunlardan biri olan ücretsiz ve açık kaynak kodlu Mono, başta Linux olmak üzere öteki platformlar ile .NET uygulamalarını bir ortaya getirmek için kullanılıyor. .NET Core Framework ise misal bir vazifesi hafif ve modüler çoklu platform uygulamaları için yerine getiriyor.
Yazılım geliştiricisi olmayan kullanıcıların bu soruyu sorması çok doğal. Üstte belirttiğimiz üzere .NET, geliştiricilere pek çok kolaylık sunuyor. Lakin geliştiricilerin bu kolaylıklar ile geliştirdiği uygulamaların son kullanıcı ekseninde çalıştırılması için de sistemde gerekli .NET sürümünün yüklü olması gerekiyor.
Kullanıcıların merak edebileceği bir öbür şey ise sistemlerinde neden birden fazla .NET sürümünün yüklü olduğu olabilir. .NET birinci olarak gün yüzüne çıktığında her yeni sürümün geriye yönelik uyumluluğa sahip olması planlanıyordu. Lakin Windows XP ve Vista periyotlarında yeni .NET sürümlerinin uyumluluk konusunda sorun yaşadığı tespit edildi. Bu sebeple tıpkı bilgisayarda birden fazla .NET sürümü yüklü olabiliyordu.
Neyse ki çağdaş Windows sürümlerinde misal sıkıntıları göremiyoruz. Windows Vista günlerinde yaşanan iki değerli gelişme .NET Framework’un uyumluluk meselelerini önemli bir halde azalttı. Birinci olarak .NET Framework 3.5 yayınlandı. Bu sürüm, .NET’in 2 ve 3 sürümlerini büsbütün destekleyecek biçimde düzenlendi. Bu sayede .NET’in 2 yahut 3 sürümünü talep eden bir uygulama, .NET 3.5 ile de meselesiz bir formda çalışabiliyordu. Bu periyotta yaşanan başka değerli gelişme ise, .NET yükseltmelerinin Windows Update aracılığıyla dağıtılması oldu.
Windows 8 ile birlikte çıkan .NET Framework 4 ise, kendinden evvel gelen sürümlerin tersine geriye yönelik uyumluluğu büsbütün kaldırdı. Yani Windows 8 yahut 10 kullanıyorsanız, sisteminizde büyük ihtimalle .NET’in hem 3.5 hem de 4 sürümü yüklü olacaktır. Windows artık .NET 3.5 ve öncesi sürümleri için yazılan uygulamaları 3.5 sürümü ile, 4 için yazılan uygulamaları ise 4 sürümü ile çalıştırıyor.
Ancak bu hususta telaş etmenize gerek yok çünkü Windows hangi uygulamanın hangi .NET sürümüne muhtaçlık duyduğunu otomatik olarak belirleyebilir. Windows’a birinci kere .NET 3.5 yahut 4 gerektiren bir yazılım yüklediğinizde, Windows otomatik olarak gerekli .NET sürümünü yüklüyor ve kullanıcıların .NET ile uğraşması gerekmiyor.