.NET Framework, Microsoft tarafından geliştirilen, açık İnternet protokolleri ve standartları üzerine kurulmuş bütün bir uygulama geliştirme platformudur. (Buradaki uygulama kavramının kapsamı çok geniştir. Bir masaüstü uygulaması veya bir Web tarayıcı uygulaması gibi her türlü uygulama bu platform içinde düşünülmüştür ve desteklenmiştir. Bu uygulamaların birbirleriyle ve geliştirildiği ortam farketmeksizin dünyadaki tüm uygulamalarla iletişimi için XML (Extensible Mark up Language - Genişletilebilir İşaretleme Dili ) desteği eklenmiş ve kolayca XML Web Servisleri oluşturulmasına imkan verilmiştir.) Microsoft .NET Framework, uygulamaların ve web servislerinin inşa edilebildiği (build), yayımının yapılabildiği (deploy) ve çalıştırılabildiği (run) bir platformdur.
'Build - Deploy - Run' .NET Framework platformu için üç anahtar kelimedir. Verimliliği yüksek, standartlara uygun ve çoklu dil desteği bulunan bir platformdur. İnternet ölçekli uygulamaların işletimi ve yayımlanması için karşılaşılan zorluklar, .NET Framework'ün sağladığı servisler sayesinde rahatlıkla aşılabilmektedir. Bu platform, işletim sisteminden ve donanımdan daha üst seviyede taşınabilir olarak tasarlanmıştır. Görünen ve beklenen o ki, Microsoft'un ileride sunacağı tüm ürünler de bu yeni platformu hedef alacak ve yüksek ihtimal ismini de paylaşacaktır. (Mesela Windows .NET, SQL Server .NET, ..)
.NET in avantajları :
- Tutarlı program geliştirme ortamı
- Basitleştirilmiş programlama modeli
- Programın yüklendiği ortamda bir kez çalıştıktan sonra her zaman çalışabilmesi
- .Net uygulamalarının birden çok Windows platformu üzerinde çalışabilmesi
- Dil bütünleşimi
- Kodun tekrar kullanılabilmesi
- Otomatik kaynak yönetimi
- Veri tipi güvenliği
- Zengin hata ayıklama ortamı
- Tutarlı hata yakalama
- Yazılımların yüklenmesi
- Güvenlik
.NET alt yapısında program yazarken kullanılabilen programlama dilleri :
Bu konuda Microsoft çok radikal bir karar alarak gelecek için hazırlanmış yeni alt yapıda Ortak Dil Çalışma Zamanı (Common Language Runtime - CLR) ile uyumlu her dilin kullanılmasına olanak sağlıyor. CLR, .NET altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile program arasında yer alan arabirimdir. Geleneksel yöntemlerle yazılan programlar derlenirken makine diline çevrilir ve program bu şekilde işletim sistemi ile doğrudan bağlantı kurarak çalışır. Ancak, platform bağımsız bir geliştirme ve yürütme ortamında çalışılmak istendiğinde CLR devreye girer ve .NET programlarını farklı platformlarda makineye ve işletim sistemine göre çalıştırır. Normalde bir Windows, Linux veya MAC OS kurulu sistemler aynı programın kodunu çalıştıramazlar. Bu platformlar için programın ayrı ayrı yazılıp, onlara göre hazırlanmış derleyicilerde derlenmesi gerekir. Dünyada çok sayıda yaygın platform olduğunu düşünülürse, bunların herbiri için ayrı ayrı derleme işleminin tek bir işletim sisteminde yapılması imkansız gibidir. Bu durumda çözüm, ortak bir ara dil kullanmak ve her bir platform için bu ara dile çevrilmiş programın kodunu çalıştıracak altyapıları hazırlamaktır. Şu anda diğer işletim sistemleri için bu destek bulunmamakta; fakat bu konuda çalışmalar devam etmektedir.
Sonuç olarak .NET ; İnternet'i hedef alan bileşen setiyle; programcıları özgürleştiren, diller arası etkileşime olanak tanıyan dil bağımsız mimarisiyle; donanım bağımsız ara seviye derleme ve güvenli çalışma ortamıyla; Web uygulamalarına getirdiği özgün ve radikal yaklaşımıyla; zengin düzenlenmiş sınıf kütüphanesi ve dokümantasyonu ile; sınırsız Web servisi desteğiyle benzetildiği teknolojileri geride bırakan özgün bir platformdur.
.NET in desteklediği programlama dilleri:
.NET yirmiden fazla programlama dilini desteklemektedir. Uygulama geliştiricilerin iş mantığı (business logic) içeren kod kısmına yoğunlaşarak güvenli, sağlam, yüksek performanslı uygulamaların geliştirilebilmesini sağlamaktadır. Eskiye göre; geliştirme, yayımlama ve yönetimin çok daha kolay olduğu bir platformdur.
Desteklenen Programlama Dilleri |
APL | Fortran | Pascal |
C++ | Haskell | Perl |
C# | Java Language | Python |
COBOL | Microsoft JScript | RPG |
Component Pascal | Mercury | Scheme |
Curriculum | Mondrian | SmallTalk |
Eiffel | Oberon | Standart ML |
Forth | Oz | Microsoft Visual Basic |