.NET Nedir?

Microsoft tarafından geliştirilen .NET Framework veya .NET platformu nedir, ne işe yarar, nerelerde kullanılır ve .NET Core ile ilgili bilgiler yer alıyor.

.NET nedir?

.NET veya .NET Framework Microsoft firması tarafından 2000 yılında geliştirilmeye başlanmış ve .NET Foundation topluluğuna devir edilmiş bir yazılım geliştirme platformudur.

İçerisinde yer alan kütüphaneler sayesinde kolayca masaüstü, web ve cep telefonu uygulamaları geliştirmeye imkan verir.

.NET için sıklıkla framework ve platforma tabiri kullanılır.

Ancak .NET sadece kütüphanelerin yer aldığı bir framework değil bir platformdur.

Platform bir uygulama veya yazılım geliştirmek için gerekli olan ortamı sağlayan parçalardan meydana gelir.

.NET yapısı temel olarak CLR (Common Language Runtime) ve FCL (Framework Class Library) oluştuğu söylenebilir.

.NET kütüphanesinin ana dili C# olarak belirlenmiştir.

CLR nedir?

CLR (Common Language Runtime) veya Ortak Dil Çalışma yapısı daha önceden tanımlanmış komutlarla işletim sistemi arasında arayüz görevi görerek IL ile yazılan komutların çalıştırılmasını sağlar.

Microsoft .NET platformunu geliştirirken sadece bir dil için değil, birçok dil oluşturmaya imkan veren IL (Intermediate Language) ve CLS (Common Language Specification) yapısını da geliştirmiştir.

Bu yapı sayesinde CLS kurallarını sağlayan yeni bir dil kuralları belirlenebilir.

Belirlenen bu kurallar IL koduna çevrilir, daha sonra JIT ile CLR birimine gönderilir.

Örneğin; Birçok programlama dilinde temel işlemleri yapan anahtar kelimeler (if, else, switch, for, while vb.) aynı işlevi yerine getirir.

Ancak bazı programlama dillerinde bu yazım farklılık gösterir.

İşte burada bu işlevin yazımı farklı da olsa IL sayesinde işlevin yapılması sağlanır.

Microsoft tarafından daha önceden belirlenmiş IL, CLS ve CTS yönergelerini okuyarak .NET platformunda çalışan bir dil geliştirebilirsiniz.

Bu yapının olması ayrıca geliştirilen kütüphanelerin diğer diller tarafından da kullanılmasına imkan verir.

Çünkü yazılan kütüphane komutları .NET içerisinde yer alan IL koduna çevrilmiştir.

FCL nedir?

FCL veya Framework Class Library .NET platformunda yazılım geliştirmeyi kolaylaştıran yüzlerce alt kütüphanelerden oluşan kütüphanedir.

.NET içerisinde yer alan FCL dilden bağımsız olduğu için IL destekleyen birçok dil tarafından kullanılabilir.

Örneğin; XML tabanlı bir uygulama geliştirmek istendiğinde ilk olarak XML yapısına ait çalışma mantığının bilinmesi ve daha sonra XML işlemlerini yapan komutların yazılması gerekir.

Ayrıca komutların yazılması yerine kendimize ait bir kütüphane yazabilir veya çok kullanılan bir kütüphane kullanabiliriz.

Kütüphaneyi kendimiz yazdığımızda güvenlik, tekrar kullanılabilirlik, taşınabilirlik gibi birçok isteklere cevap vermesi gerekir.

Bu isteklere cevap vermek geliştirilen yazılımın uzamasına sebep olur.

Başkaları tarafından yazılan bir kütüphanede (varsa, bulunabilirse) kullanılabilir.

Ancak bu kütüphanenin de bu şartları yerine getirmesi, yeni güncellemelerin tekrar yazılıma dahil edilmesi zahmetli olabilir.

.NET FCL içerisinde yer alan yüzlerce kütüphaneden biri olan XML kütüphanesi komutları kullanılarak bu işlem kolayca yapılabilir.

.NET platformunun CLR ile dilden bağımsız olduğunu söylemiştim.

.NET FCL kütüphanesi de dilden bağımsız bir yapı sunduğundan .NET CLS şartlarını sağlayan bütün diller tarafından kullanılabilir.

Örneğin; .NET platformunda C# ile geliştirilen bir kütüphane daha sonra VB.NET ile geliştirilen yazılımlarda CLR sayesinde kullanılabilir.

.NET içerisinde yer alan FCL kütüphanelerinin öğrenmesi zaman alabilir.

Çünkü içerisinde XML, Şifreleme, Veri yapıları (stack, list, linked list, sorted list vb.), Koleksiyonlar, Ağ işlemleri gibi işlemler için kullanıma hazır yüzlerce kütüphane yer almaktadır.

Diğer…

.NET temel olarak işletim sisteminden ve dilden bağımsız bir platform olmasına rağmen sadece Windows tabanlı işletim sistemlerinde çalışmaktadır.

Bu birçok geliştiricinin itirazına sebep olmuştur.

Bundan dolayı da Microsoft .NET platformunu .NET Foundation topluluğuna devretmiş ve birçok işletim sisteminde çalışabilen .NET Core platformunu çıkarmıştır.

Microsoft .NET platformunu .NET topluğuna bırakmasının bir diğer nedeni ise Java platformunda yer alan çeşitliliğin .NET platformunda da olmasını istemesidir diyebiliriz.

Çünkü .NET ile geliştirilen ORM (Entity Framework, Dapper) kütüphanesinin çeşitliliği Java platformundan azdır.

Kütüphanenin az olmasının nedeni .NET platformunun Microsoft firmasına ait olması ve Java platformunun daha eski olduğu söylenebilir.

.NET Derslerine buradan ulaşabilirsiniz.

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!