18 Aralık 2010 Cumartesi

.NET FRAMEWORK

.net Framework


19 Aralık 2010


Bir çok uygulama geliştirme dili var. Bu dillerle yazılmış uygulamaları çalıştırmak için ise farklı platformlar var. .Net Framework, Windows tabanlı uygulamalar geliştirebilmek için farklı programlama dillerinin birlikte çalışabileceği ortak bir geliştirme ortamıdır. Bu ortam hem yazılımları geliştirmek hem de çalıştırmak için gereklidir.



Şekil: .Net Framework yapısı


. Net Framework aşağıdaki bileşenlerden oluşur



  • The Common Language Runtime (CLR) Ortak Dil Çalışma Zamanı

    Uygulamaların çalışabilmesi ve yönetilmesine yardımcı olan, dilden bağımsız bir yazılım geliştirme ve çalışma ortamdır.

  • The Framework Class Libraries (FCL) Framework sınıf kütüphaneleri

    .Net çatısı altındaki dillerin ortak kullanabilecekleri kütüphaneleri barındırır.


. Net ortamında yazılımlarınızı dilden bağımsız olarak geliştirebilirsiniz. Örneğin C# ‘ta yazılmış kod derlendiğinde, derleyiciden çıkan kod önce MSIL ya da IL’edönüştürülür. Bu MSIL ya da IL dosyası çalıştırılabilir bir kod değildir.


MSIL ya da IL: İçerisinde değişken tanımları, değişkenlerin nasıl saklanacağı, metotların nasıl çalıştırılacağı, aritmetik ve mantıksal işlemler, bellek kullanımı v.s. gibi işlerin nasıl yapılacağını içeren özel tipte kodlar barındıran bir dosyadır.


CLR: Program çalıştırıldığında aradile(MSIL ya da IL) dönüştürülen kodların, çalıştırılabilir koda dönüştürme işini CLR yapar. CLR kodu alıp bulunduğu makinanın işlemcisine ve işletim sisteminin anlayacağı şekle (makine diline) dönüştürür. IL kodu makine diline dönüştürülürken JIT (just in time) derleyiciler devreye girer. CLR makine diline çevrilmiş kodu önbellekte tutarak, daha hızlı çalışmasını da sağlar.


MSIL ya da IL’e dönüştürülen her kod  CLR’nin uygulandığı her ortamda çalıştırılabilir. Yani  bu da kodun .Net Framework’ün kurulabileceği her platformda çalıştırılabileceği anlamına gelir.


Kodlar Makine Diline dönüştürülecekse niçin Aradile dönüştürülür de direk makine diline dönüştürülmezler?


Bunun cevabı çok basittir aslında. Örneğin C++ ya da Visual Basic dilleri kullanılarak yazılan kodlar derlenirken bulunduğu ortamın özelliklerine göre yani işlemcinin sahip olduğu komut setleri ya da işletim sisteminin özelliklerine göre derlenirler. Bu da derlenen kodun başka bir ortamda yani farklı bir işlemci ya da işletim sisteminde çalışmamasına sebep olur. O zaman her ortam için kodu tekrar derlememiz gerekir. Bu çok zahmetli ve gereksiz bir iştir. CLR aradili(MSIL) alıp o makinanın anlayabileceği şekle dönüştürür, CLR nin çalışabildiği yani .Net Framework’ün kuralabildiği her ortamda yazılımlarınız çalışır olur.


Common Language Specification (CLS / Ortak Dil Özelliği)


Dil derleyicisinin uyması gereken kuralları içerir. Eğer diğer diller tarafından da kullanılacak yazılım bileşenleri geliştirmek istiyorsak mutlaka geliştireceğimiz dilin CLS uyumlu olmasına dikkat etmemiz gerekir. Böylece CLS ile diller arasındaki iletişim sağlanmış olur.


Common Type System (CTS / Ortak Tip Sistemi)


Veri tiplerini ilgilendiren kuralları içerir. CTS sayesinde programlama dilleri arasında veri türleri arasında da uyum sağlanmış olur. Örneğin Int tipi C# da veya VB.Net’te de tamsayı tiplerinin kapasiteleri aynıdır. Ve birinde derlenen kod  diğerinde rahatlıkla kullanılabilir. CTS sayesinde .Net platformu için geliştirilen tüm diller aynı veri tiplerini kullanılır farklı olan sadece dillerdeki veri tiplerinin tanımlanma yöntemleri ve söz dizilimleridir. Ayrıca cts sayesinde .net uyumlu bir dilde geliştirilen bir nesne diğer dillerde de sorunsuz çalışır.


.Net dillerinden biri ile yazılmış bir programın çalışması için mutlaka sisteminizde .Net Framework’ün ilgili sürümü olmalıdır.


.Net Framework SDK (Software Development Kit)


Yazılım geliştiricilerin .Net Framework üzerinde geliştirme yaparken ihtiyaç duyacakları araçlar, dokümanlar ve birçok örnekler .Net Framework SDK içinde yer alır.


Sadece yazılım geliştirenlerin işine yarayan bir araçtır. İçerisinde bol bol örnekler yer alır.


.net Framework Özellikleri



  • Standart ağ protokollerine ve standarlarına destek

    TCP/IP, SOAP, XML, HTTP gibi standart internet protokolleri ve standartlarına destek verir.

  • Farklı programlama dillerine destek

    Programcılara istedikleri dilde geliştirme özgürlüğü sunan .net bünyesinde bir çok programlama dilini barındırır.

  • Farklı dillerde geliştirilen programlama kütüphanelerine destek

    .net Framework, farklı dillerde oluşturulmuş programlama dillerinde oluşturulmuş program kütüphanelerine destek verir. Kütüphaneler uygulama geliştirmeyi kolaylaştıran bir kere yazılmış bir program parçasını tekrar tekrar yazmaktan kurtaran yapılardır.

  • Farklı platformlara destek

    .net Framework bütün windows platformları için mevcuttur. Farklı bilgi işlem platformlarından insanları, sistemleri ve cihazları birbirine bağlar. Meselâ, Windows XP gbi bir masaüstü platformunu kullanan insanlar veya Windows CE kullanan gezgin bir platformu kullanan insanlar Windows 2003 Server gibi bir sunucu sistemine bağlanabilir.


C# ile .Net Framework arasındaki ilişki


.net framework ve geliştirme ortamları C# dili ile geliştirilmiştir. C#, .net ile birlikte doğmuştur, modern nesne yönelimli dillerin bütün özelliklerini barındırmakla birlikte nesne yönelimli geliştirmeye yeni yaklaşımlar da getirmektedir.


 

Hiç yorum yok:

Yorum Gönder