Windows Presentation Foundation (Avalon) 'ın son sürümü 2006'nın sonbaharında .Net Framework 3.0
ile birlikte duyuruldu ve Ocak 2007'nin sonunda Vista'nın piyasaya
çıkması ile beraber son kullanıcıların karşısına çıktı.
Vista'nın en büyük özelliklerinden görsel yenilikler son kullanıcıların hepsini
hayran bıraktı. 3 boyutlu görünen ekranlar, yumuşak ve göz yormayan grafikler ve
şeffaf ekranlar; bunların hepsi bugün Vista kullanan kullanıcıların bilgisayarlarında
mecvut. Bilgisayarı sadece hobi olarak kullanmayan ve işin arka tarafını merak eden
birçok kullanıcı ise bu görsel zenginliğin altında yatan teknolojiyi
merak etmeye başladı yani .Net Framework 3.0 ve onun bir parçası olan Windows Presentation Foundation'ı.
WPF, yazılım geliştiren kişilere standart 2B tasarımların dışına çıkma ve kalıplarından
sıyrılma imkanı veren, etkin ve etkileşimli kullanıcı arayüzleri tasarlama imkanı
veren bir teknolojidir.
Microsoft'u bu kadar büyük teknoloji geliştirmeye iten sebep ise son kullanıcıların,
programın arka tarafında ne iş yapıldığından çok, görsel arayüzün zenginliğini ve
programla olan etkileşimini önemsemesidir.
WPF ile zengin görselliğe sahip kullanıcı arayüzleri
tasarlanabilir
WPF Neler Getiriyor?
|
|
Windows Forms |
PDF |
Windows Forms/
GDI+ |
Windows Media Player |
Direct3D |
WPF |
|
Grafik arayüz... Formlar ve kontroller |
X |
|
|
|
|
X |
|
Ekran dökümanları |
X |
|
|
|
|
X |
|
Sabit biçimlendirilmiş dökümanlar |
|
X |
|
|
|
X |
|
Resimler |
|
|
X |
|
|
X |
|
Video ve ses |
|
|
|
X |
|
X |
|
İki boyutlu grafikler |
|
|
X |
|
|
X |
|
Üç boyutlu grafikler |
|
|
|
|
X |
X |
Yukarıdaki tablodan da görülebileceği üzere WPF, birçok
uygulamaya dağılmış olan özellikleri tek elde toplayabilme kabiliyetine sahiptir.
Böylece üç boyutlu grafiklere sahip, grafik arayüzü olan ve video ve ses oynatacak
olan bir program yazmak için birden fazla teknoloji kullanmak yerine WPF ile daha
kolay birşekilde yapabilir hale geliyoruz.
Ancak şu noktanında altını çizmekte de fayda var, WPF
tüm bu teknolojilerin yerine geçecek yeni bir teknoloji değil, sadece bu teknolojiler
ile birlikte çalışarak eksiklerini kapatacak bir teknolojidir. Yani WPF ile uygulama
geliştirirken hala Windows Forms'a ihtiyaç duyacağımız zamanlar olacaktır.
WPF'in sağladığı en büyük yenilik ise oluşturulan arayüzlerin
hem web tarayıcıları ile hem de Windows programlarında kullanılabilmesidir. Böylece
geliştirilen arayüz herhangi bir değişikliğe gerek kalmadan, aynı güç ile hem Windows
programlarında hem de web ortamında kullanılabilir. Bu güçlü özelliğin arkasında
yatan ise XAML (okunuşu zammel)'dir. XAML, eXtensible Application Markup Language,
XML kurallarına göre yazulan ve .Net Framework 3.0 tarafından otomatik olarak algılanıp
C# kodlarına döndürülen ve bu sayede bize ortam bağımsızlığı sağlayan bir dildir.
Aşağıda geliştirilen bir arayüzün Windows ortamındaki
görüntüsü görülmektedir.
Aşağıda ise aynı arayüzün Internet Explorer'daki
görüntüsü görülmektedir.
WPF ile zengin görselliğe sahip kullanıcı arayüzleri
tasarlanabilir
WPF'i Kullanmaya Başlamak
WPF .Net Framework 3.0 ile gelen bir özellik
olduğu için öncelikle bazı program ve eklentileri yüklemek gerekmektedir.
1)
.Net Framework 3.0
.Net Framework 3.0 Vista yüklü makinelerde hazır olarak bulunmasına karşın, Windows
XP yüklü ve Windows Server 2003 yüklü makinelere yüklenmesi gerekir.
2)
Visual Studio 2005 için .Net Framework 3.0 Eklentisi
Visual Studio 2005 ile WPF uygulamaları geliştirebilmek için bu eklenti yüklenmelidir.
Eklenti yüklendikten sonra Visual Studio 2005, XAML desteğine sahip olacağı gibi
yeni uygulamalar için uygun şablonlara da sahip olacaktır.
3)
Windows SDK
Windows SDK, yaklaşık 1 GB büyüklüğünde bir paket olup hem dökümantasyon hem de
WPF uygulamaları geliştirebilmek için XamlPAD gibi araçlarıda içermektedir.
WPF Kaynakları
Yeni bir teknoloji olan WPF i öğrenmek için
aşağıdaki kaynakları takip etmenizi önerim.
WPF bundan sonra adını sık sık duyacağımı yeni nesil uygulama
arayüzü geliştirme teknolojisidir. Eğer arayüzü tasarımları ile ilgileniyorsanız,
yeni teknolojilere meraklıysanız WPF'i şiddetle öneririm.