Bilgisayarınıza sık sık yazılım yükleyen biriyseniz, birçok yazılımın heyetim 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 gereksinim 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 takviyeli 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 başka platformlar ile .NET uygulamalarını bir ortaya getirmek için kullanılıyor. .NET Core Framework ise benzeri 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ı pek 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 öteki ş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. Fakat Windows XP ve Vista devirlerinde yeni .NET sürümlerinin uyumluluk konusunda sorun yaşadığı tespit edildi. Bu sebeple birebir bilgisayarda birden fazla .NET sürümü yüklü olabiliyordu.
Neyse ki çağdaş Windows sürümlerinde emsal problemleri göremiyoruz. Windows Vista günlerinde yaşanan iki kıymetli gelişme .NET Framework’un uyumluluk sıkıntılarını önemli bir formda 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 formda 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 devirde 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 mevzuda 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 sefer .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.