.Net Framework nedir? Ne işe yarar?



   Microsoft tarafından geliştirilen ve bilgisayarlarımızdan, internet ve cep telefonlarımıza çoğu platformda bulunan .Net Framework altyapısının ne olduğunu ve ne işe yaradığını açıklıyoruz.





    .Net Framework, Microsoft tarafından geliştirilmiş bir yazılım altyapısıdır. Bütün cihaz ve platformların tek bir altyapı ve bilinen bir .Net destekli dil kullanılarak kolay ve etkin bir şekilde yazılım geliştirilebilmesini sağlar.  Bütün Microsoft platformları .Net Framework dillerinden herhangi biri ile geliştirilebilir ve destek genişletilebilir. Genel olarak diller arasında en önemlileri Visual Basic, Visual C++ (Yönetimli ve Yönetimsiz), Visual C# (Microsoft’un en etkili dillerinden biridir)


   Framework yazılım geliştiricilere oldukça donanımlı geliştirme ortamı ve araçlar (Visual Studio, Blend gibi) sunarak sadece projelerine odaklanmalarını sağlar. Altyapıda kütüphaneler büyük oranda aynıdır böylece platformdan platforma fazla değişiklik göstermeden kullanılabilir. Microsoft’un sunduğu pek çok araç da işinizde size kolaylık sağlar. Bu altyapıda hali hazırda sunulmuş pek çok fonksiyonu çözümlerinizde kullanarak geliştirme sürecinde geçen zamanı en aza indirgeyebilirsiniz.

Sistem nasıl işler?


   Framework belirli aralıklarla Microsoft tarafından geliştirilip yeni özelliklere kavuşmakta ve sıklıkla güvenlik güncelleştirmeleri almaktadır. Bu yüzden Framework’ün farklı sürümleri vardır (genellikle her Windows sürümünde güncellenirler)

Temel Framework sürümleri:

.Net Framework 2.0
.Net Framework 3.0
.Net Framework 3.5
.Net Framework 4.0
.Net Framework 4.5
.Net Framework 4.5.1

    Yazılımınızı geliştirmeyi planladığınız Framework sürümü hem yazılımı geliştirdiğiniz hem de programın çalışacağı bilgisayarda bulunmak zorundadır (kütüphaneler bu şekilde bilgisayara yüklenir). Programınızı çalıştırdığınızda Common Language Runtime (CLR – Ortak Dil Çalışma zamanı) devreye girecek ve komutları sizin için bir aracı olarak (dil ile sistem arasında) işleyecektir.

   Platformda programınız gerekli .Net Framework sürümü olmadığı takdirde çalışmayacaktır. (Hatırlayın kodlarınızı çalıştıracak gerekli kütüphaneler sisteminizde değil) Bu yüzden programınız bir aracı yazılım (Windows 8 ‘den önceki sürümler) ile önce gerekli Framework sürümünü edinmeyi sağlamalı sonra kendini kurmalıdır. Windows 8 ise Framework 4.5 , Windows 8.1 Framework 4.5.1 ile gelir. Ayrıca Windows 8 ile aracı bir program kurmanız gerekmez, sisteminiz gerekli sürümü kurması için kullanıcıya gerekli yardımda bulunacaktır.

Windows 8 gerekli Framework sürümünü kurmak için kullanıcıya danışır. Tek tuşla indirilip kurulur.


Framework sürümlerini Microsoft sitesinden edinebilirsiniz. Eğer Windows Phone için geliştiriyorsanız endişelenmenize gerek yok. Orada sadece platform (8 veya 8.1) seçimi yapmanız gerekecek. Framework seçmeniz gerekmez. Aynı şey Windows Store (Modern Uygulamalar) için de geçerlidir.


Platformun olumlu yanları
  • Öncelikle daha alt seviye (Native C++, C, Assembly gibi) dillere göre oldukça kolaylaştırılmıştır, ayrıca pek çok c++ fonksiyonu framework ailesince kullanılabilir. (Visual C++ direk olarak Native C++ kütüphanelerini kullanabilir). Pek çok fonksiyon hali hazırda kullanılabilir. Fonksiyonlar direk bilgisayardaki Framework üzerinden çağırılarak kullanıldığı için (dosyaların içine yazılmaz) daha az yer kaplayan uygulamalar yapılabilir. 
  • Programlar çalışabilmek için sisteminizden kendilerine yetecek kadar bellek ayırmalıdır. Kullandıktan sonra belleğinizi geri bırakmazsanız programınız kısa sürede çok fazla sistem kaynağı kullanmaya başlar. Bu, diğer programlar ve sisteme daha az bellek kalmasına neden olur. Ayrıca programınızın düzenli işleyişi bozulmaya uğrar. Bu yüzden gerektiğinde kullandığınız belleği teslim etmelisiniz. Daha alt seviye programlarında bu işi bizzat halletmeniz gerekir. Framework dilleri gibi yüksek seviye dillerde ise bu işi otomatik olarak halleden Garbage Collector (Çöp Toplayıcısı) bulunmaktadır. Sistem tekrar kullanılmayacağını algıladığı kaynakları silerek bellekte yer açar. Yine de Framework yazılımları ek bir “çevirmen” kullanılarak çalıştığından diğer dillerden daha fazla kaynak kullanacaktır.
  •  Programlarınızın tüm Microsoft platformlarında aynı şekilde çalışacağından emin olursunuz. Çünkü aynı şekilde işlenirler.
  •  Framework güvenlidir, çünkü her Windows’la yepyeni bir sürüme kavuşmasının yanı sıra neredeyse her ay geleneksel Windows güncelleme günlerinde (ayın ikinci Salı’sı) güvenlik güncelleştirmelerine kavuşur. Eğer ciddi bir güvenlik sorunuysa hızla birkaç günde güncellenir. (Çünkü bir çok büyük firma .Net Framework ailesini kullanmaktadır)
  • Çok hızlı bir şekilde sonuca ulaşılabilir. Hazır kütüphaneler ile programlama sürecini kısaltabilirsiniz.
  • Birçok platforma hitap edebilirsiniz. Masaüstü programlama, tablet ve mobil (Windows RT, Windows Phone), internet servislerinde (Aspx, Azure), konsollarda (XBOX) ve daha birçoğunda kullanılabilir. Birlikte çalışabilirliği çok yüksektir.
  • Bakım ve yönetimi kolaydır. Çoğu Microsoft platformunda programlarınız otomatik olarak güncellenir. Bir sorun oluştuğunda çözmek üzere onlarca araç ve yöntem geliştirilmiştir. Sorunu tepsit ettikten sonra kolaylıkla çözüme ulaşabilirsiniz.
  • Oldukça yaygındır. Çoğu iş firması ve teknoloji platformu Framework’ü desteklemektedir. Oldukça fazla kaynak ve referans bulabilir, milyonlarca örnek kodu inceleyip uygulayabilirsiniz.

Platformun olumsuz yanları


Her ne kadar çok fazla olmasa da birkaç küçük negatif yan bulunmaktadır. 
  • Alt seviye programlama dilleri ek bir şey kullanmadan çalışacak hale getirilebilir. (Ancak onlarında benzer bir gerekliliği olabilmektedir, örneğin DirectX redist’leri oyunlar tarafından ortak kullanılan grafik kütüphanelerini sisteminize kopyalamaktadır). Ancak bu altyapıda gerekli sürüm bilgisayarda önceden kurulu olmalıdır. Neyse ki durum kolaylıkla halledilebilir. (Otomatik bir yükleyici kullanılabilir, yada Windows 8 ve üstü ise bu iş otomatik olarak sistem tarafından halledilir)
  • .Net Framework doğal (yönetimsiz) dillere göre, araya bir aracı girdiğinden, daha yavaş çalışmaktadır ve daha fazla sistem kaynağı tüketir (bellek gibi).
  • Çalışmalarınız daha çok Microsoft platformlarına yönelik olacaktır.

Yönetimsiz kod: CLR tarafından değilde kendi kendini çalıştırıp “yöneten” dillere verilen isimdir. Doğal C ve C++ yönetimsizdir.
Yönetimli kod: C# , Visual Basic ve Visual C++ gibi CLR tarafından çalıştırılıp “yönetilen” dillere denir.

Visual Studio


   Kısaca özetlemek gerekirse tüm .Net dilleri için programlama olanağı sunan donanımlı bir IDE – yazılım geliştirme ortamıdır. Hata ayıklama, kod yazma, yazacağınız kodu tahmin etme (intellisense) gibi özelliklere sahiptir. Yazılım geliştiricinin eli ayağıdır. Bir adet özellikleri kırpılmış ücretsiz (Express), ve birkaç adet paralı sürüme sahiptir. Paralı sürümler grup projelerinde kolaylık sağlamaktadır.

Yorumlar

Yorum Gönder

Sitemize herkes yorum yapabilir. Eğer kayıt olmadan yorum yapmak istiyorsanız, listeden 'Anonim'i seçin.



Bu blogdaki popüler yayınlar

C# LAN üzerinde TCP Bağlantısı ile Veri Aktarımı (Konsol)

Android Programlama: EditText Kullanarak Kullanıcıdan Girdi Almak

Android Programlama: Button Kullanımı & Event Ekleme