Makale Özeti

2000 yılında .NET 1.0 adındaki ürünün ilk public beta sürümü yayınlandı. Bu ürün pek çok class'ın bir araya gelmesinden oluşan bir altyapı ile uygulama geliştiriciler tarafından o zamana kadar dile getirilen sıkıntıların pek çoğunu ortadan kaldırıyordu ve bunu çok hızlı bir şekilde algılayan firmalar ve yazılım geliştiriciler fazla vakit kaybetmeden .NET altyapısını kullanmaya başladılar.

Makale

2000 yılında .NET 1.0 adındaki ürünün ilk public beta sürümü yayınlandı. Bu ürün pek çok class'ın bir araya gelmesinden oluşan bir altyapı ile uygulama geliştiriciler tarafından o zamana kadar dile getirilen sıkıntıların pek çoğunu ortadan kaldırıyordu ve bunu çok hızlı bir şekilde algılayan firmalar ve yazılım geliştiriciler fazla vakit kaybetmeden .NET altyapısını kullanmaya başladılar. .NET'e geçiş ile ilgili hedeflerin umulandan daha kısa sürede, fazlasıyla tutturulmuş olması Microsoft tarafında yüzlerin gülmesini sağlarken, yazılım geliştiricilerde kendilerine sunulan (her ne kadar %100 sorunsuz olmasa da) başarılı ve geniş kapsamlı altyapıdan oldukça memnunlardı.

Aradan 6 yıl geçti ve bugün .NET Framework'un 3. sürümü yayınlanmış durumda. Framework'un bu sürümü aslında Windows Vista ile birbirine son derece bağlı. Daha doğru bir söylemle, tamamen Windows Vista odaklı ve aradan geçen zamanda kazanılan deneyimler sonucunda tam anlamıyla olgunlaşmış bir Framework sürümü. Framework'un bu sürümünün öncelikli amacı, .NET ile geliştirilebilecek çözümlerin kapsamının genişletilmesi olsa da her yeni Framework sürümü gibi, önceki sürümlere göre içerik açısından son derece gelişmiş ve büyümüş durumda.

Framework 3.0'ın 1.x ve 2.0'dan Farkı Ne?
Framework 3.0 kendisinden önceki Framework sürümlerine göre bazı farklılıklar içermekte. İlk iki major Framework sürümü pek çok farklı programlama dilinin Common Language Runtime aracılığıyla ortak bir class setine erişebilmesine odaklanmıştı. Framework 1.0 ile duyurulan ve 2.0 sürümü ile oldukça geliştirilen Common Language Runtime aslında oldukça basit bir fikir üzerine kurgulanmıştı: Mevcut kodları .NET Framework'u çalıştıran tüm sistemler için çalıştırabilecek ortak bir runtime modeli. Bu cümle uygulama geliştiriciler açısından, farklı platform ve teknolojiler için farklı programlama dilleri öğrenme gerekliliğinden kurtulmak anlamına geldiği için oldukça kolay benimsenecek bir fikirdi. Örneğin Windows uygulamaları üzerine çalışan bir C# geliştiricisi, mevcut bilgisi ve deneyimlerini web veya mobil uygulamalar geliştirmek için kullanabilir. Aynı şekilde bir Visual Basic.NET geliştiricisi de mobil uygulama geliştirme konusundaki bilgi ve deneyimleri ile kolaylıkla web servisi veya windows servisi geliştirebilir.

Framework'un 3. sürümü ise Common Language Runtime üzerinde geliştirme yapılmayan ilk Framework sürümü olma özelliğini taşıyor. İlk iki sürüm, ASP:NET ile web uygulamalarının geliştirilmesi alanında yeni bir yol açtı. Framework'un 1.1 sürümü ile gelen Mobil .NET Framework , uygulama geliştiricilerin smart phone ve mobil cihazlara yönelik uygulama geliştirmesini son derece kolaylaştırdı. Tüm bu değişiklikler sırasında Framework'un yapısı sürekli olarak genişlemeye uygun şekilde geliştirildi. Şekil 1:1'de görebileceğiniz üzere Framework 3.0 aslında Framework 2.0'a, Windows Vista'ya yönelik bazı özelliklerin eklenmesi ile ortaya çıkmış bir sürüm.


Şekil 1:1 :: .NET Framework 3.0

Önceden belirttiğim gibi .NET Framework 3.0, 2.0 sürümündeki teknolojileri geliştirmeyip, ileriye yönelik olarak dört yeni teknoloji ekliyor.

  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Windows Workflow Foundation (WF veya WWF şeklinde kısaltılabiliyor)
  • Windows CardSpace (WCS)

Bu teknolojilerin her biri uygulama geliştiricilerin ve son kullanıcıların yakın gelecekte yazılım anlayışını oldukça etkili bir şekilde değiştirecek yapılar ve daha da önemlisi, Windows Vista ile birlikte piyasaya sunulacak yeni nesil Microsoft ürünlerinin temelini oluşturan teknolojiler. Bundan dolayı developerlar açısından bu teknolojilere hakim olmak son derece önemli olacak. Şimdi bu dört teknolojiyi kısaca açıklayalım.

Windows Presentation Foundation
Windows Presentation Foundation yeni foundation class grubunun en çok adı duyulan üyesi diyebiliriz herhalde. Bunun öncelikli nedeni şu an dahi pek çok WPF örneği görebiliyor olmamız ve gördüğümüz örneklerin sıklıkla Adobe'nin Flash uygulamaları ile karşılaştırılması / kıyaslanmasıdır.

ASP.NET bu denli ilgi görmesinin en önemli nedenlerinden biri developerların ne ile çalıştıklarını her aşamada görebiliyor olmalarıydı. Benzer şekilde WPF uygulamalar için son derece kararlı bir yapı ile birlikte Windows uygulamaları için oldukça zengin kontroller, görsel tasarım ve geliştirme özellikleri sunmaktadır. Bir WPF uygulaması masaüstünde, webde ve cihazlar üzerinde geliştirilebilir ve deploy edilebilir.

WPF'in en ilginç yönlerinden biri nesnelerin konumlanmasını yönetmek amacıyla sunduğu XML tabanlı programlama dili olan XAML (Zammel şeklinde okunuyor). Bu dil Flash ile karşılaştırmalara da neden olmakta. İlk bakışta birbirine benzeyen yapılar gibi görünseler de, aralarında çok ciddi farklılıklar bulunuyor. Flash gelişmiş işletim sisteminden bağımsız, gelişmiş bir yapıyken, WPF işletim sistemi ve diğer .NET Framework teknolojilerini entegre etmenizi sağlayan bir yapıdır. Flash ve WPF iki ayrı alana yönelik, birbirinden çok net çizgilerle ayrılan iki yapıdır.

WPF'i kullanabilmek için şimdiden bazı ürünler yayınlanmış durumda. Microsoft Expression ürün grubunu inceleyerek illustrasyonlar, web siteleri ve interaktif sunumlar hazırlama konusunda WPF'in sunduklarından faydalanmaya şimdiden başlayabilirsiniz.

Windows Communication Foundation
Windows Communication Foundation'ın temel amacı, aynı bilgisayar, network veya internet üzerindeki uygulamaların birbirleri ile iletişim kurabilmesini sağlamaktır. WCF programlama modeli web servislerini, .NET Remoting teknolojisini, distributed transactionları ve mesaj kuyruklarını tek bir service oriented programlama modeli altında toplar.

WCF service-oriented architecture tasarım kuralları doğrultusunda tasarlanmış, servislerin consumerlar tarafından kullanılacağı, clientların birden çok servisi kullanabileceği ve servislerin birden fazla client tarafından kullanılabileceği bir distributed çalışma mimarisini desteklemektedir. Tüm servisler hangi platformda host edildiğne bakılmaksızın herhangi bir WCF clientının servisi kullanmak için faydalanabileceği bir WSDL interfaceine sahiptir. WCF, WS-Addressing, WS-Reliability ve WS-Security gibi pek çok gelişmiş web servisi standardını getirmektedir.

Windows Workflow Foundation
Windows Workflow Foundation, iş akışlarının tanımlanması ve yönetilmesi için geliştirilmiş bir yapıdır. İş akışları aktivitelerin bir araya gelmesi ile oluştuğu için developerlar kendi metodolojilerine, şirket kültürlerine yönelik aktiviteleri tanımlayarak, kendi workflowlarını oluşturabilirler.

Windows Workflow Foundation aynı zamanda Visual Studio 2005 extensions'ı da içerir. Bu eklentiler bir kullanıcıların workflow tasarlamasına olanak veren bir workflow designer, workflowların debug edilmesini sağlayan bir visual debugger ve kullanıcıların workflowları Visual Studio 2005 içinden compile edebilmelerine olanak veren bir compilerı içerir.

Windows Workflow Foundation'ın ilk dönemlerine ait bir örneği Windows Sharepoint Server 2007 Portal'da görebilirsiniz. 

Windows Cardspace
Uygulama geliştiricilerin, daha doğrusu uygulamaların her gün defalarca sorduğu bir soru var: "Kimsin sen?". Günümüzde Active Directory, Passport, Windows Membership Services gibi servisler ile, belirtilen kullanıcı adı ve parola doğrultusunda kullanıcıların kimliklerini doğrulayabiliyor olsak ta bu çözümlerde güvenlik başta olmak üzere bazı sorunlarımız söz konusu. Ancak burada kastettiğim bu servislerin güvenilirliğinden çok, kullanıcı hesaplarını birbirleri ile paylaşan kullanıcıların ve bunun gibi bazı benzer durumların ortaya çıkarttığı güvenlik problemleri. Geçerli kullanıcı adı ve parolaları bilen herkes bugün benim online bankacılık şube hesabıma giriş yapabilir. Kullanıcı adı ve parolalar geçerli olacağından sistem giriş yapanın ben olduğumu düşünecektir. Peki ya giriş yapan benim bilgilerimi bir şekilde ele geçiren başka birisiyse? Microsoft, Windows CardSpace ile bu durumu ortadan kaldırmaya yönelik yeni bir mimari sunuyor.

.NET 3.0 Uygulamaları Geliştirmek
Tahmin edebileceğiniz üzere .NET 3.0 uygulamaları geliştirmek için kullanılacak ana araç Visual Studio. Visual Studio'nun bir sonraki sürümü şu an "Orcas" kod adı ile geliştirilmeye devam ediyor ve CTP aşamasında. "Orcas" ile 2007 yılının son çeyreğinde tanışıyor olacağız. Geliştirme araçlarına ek olarak Windows Presentation Foundation'ı desteklemek için bazı yeni design araçları Expression ürün grubu altında yayınlanmış durumda.

Microsoft .NET 3.0'ı son derece güçlü bir şekilde destekleyecek ve 2007 yılı, yazılım dünyasının pek çok yenilikle tanıştığı bir yıl olacak.

Son olarak Framework 3.0'ın, önceki sürümlerle benzer şekilde pek çok işletim sistemini destekleyeceğini söyleyebiliriz ancak bu işletim sistemleri ilk aşamada sadece Vista, Windows 2003/R2 ve Windows XP SP2 şeklinde. Daha önceki windows platformlarında çalışan kurumalar, Vista ile birlikte sistemlerini hızlı bir şekilde güncelliyor olacaklar diyebiliriz.