9 Eylül 2013 Pazartesi

WPF nedir?

WPF Windows Presentation Foundation kelimeleri için bir kısaltmadır. Microsotf firmasının 2006 yılında .NET 3.0 içerisinde Avalon adıyla duyurulan, kullanıcı arayüz tasarımında son nesil teknolojisinin ismidir. Hem .Net framework hemde ilgili diğer teknolojiler bütün işletim sistemi platformlarında çalışabilse de WPF Windows ortamında masaüstü uygulamalar geliştirmek için büyük kolaylıklar sağlayan bir ortamdır. .NET frameworkün bir parçasıdır. Bir kütüphanedir.  Bir altsistemdir. Bir kontrol kümesidir.( winforms alışkanlığı olanlar için ingilizce olarak a set of controls). Bir dildir. Bir programlama modelidir.

WPF için en uygun tanımlardan birisi Wrox yazarı Rod Stephens'a ait ;"kullanıcı arayüzü oluşturmak için bir dizi nesnedir". Tanım iki noktaya vurgu yapıyor. Birincisi WPF ile kullanıcı arayüzü oluşturulur, ikincisi ise bir nesne seti yani .NET frameworkün bir alt bileşenidir. Arayüz ne olduğunu anlamakiçin tipikbir masaüstü uygulamasının kullanımını düşünmek yeterlidir. Perncere var, onun içerisinde listeler, resimler ,video lar var, text boxlarla veri girişi yapıyoruz, button ile yeni bir iş yapmasını istiyoruz. V.s. WPF böyle bir arayüz penceresi ve içeriğini oluşturmak için kullanılan bir teknoljidir. Arayüz için gerekli olan bütün kontrollere pencere, açılır liste kutusu, etiket, resim, list box, …. ait sınıfları vardır. Eski Winform  kullanıcıları için   benzer kontrollar vardır, yenileri eklenmiştir. Expander, viewbox, flowdocument gibi. Animation, resource, events, styles, templates oluşturmak için nesneler vardır. Uygulamamızın arayüz kısmı bunların bir alt kümesini kullanarak oluştururuz. XAML ile ilişkilendirilmesine rağmen xaml kullanmak WPF için zorunlu DEĞİLDİR. sadece c# dilini kullanarak bir arayüz oluşturulabilir. Buradaki link hiç xaml kullanmadan bir WPF uygulamasının göstermektedir. Bir arayüz bileşeni tasarım aşamasında *.xmal uzantılı bir dosya ona hareket katacak olan vb veya c# kodu code-behind derleme aşamasında  CIL komutlarına dönüştürülür. XAML içerisindeki her bir tag c# dilindeki yeni bir sınıf örneği oluşturma işlemine ( new keyword ile ilgili class ın ctor u çağrılarak) karşılık gelmektedir.

Bu yazı serisi içerisinde Windows Presentation Foundation konusunda açıklama ve örnekler bulacaksınız.  İçeriğimiz ve formatı aşağıdaki listede ilk sıradaki wrox yayını olmak üzere üç temel referans kitaba bağlı kalarak oluşturulmaktadır. Bu konuda çok daha fazla kitap olmasına rağmen aşağıdaki üç referans kitap basım tarihi açısından en güncel olanlar, ve amazonda yüksek puan alan kitaplardır.
Bu kitaplar ;  
Ayrıntılı ve genel-bilgi aktarımı açısından orta seviyede bir kitaptır. Konuya yeni başlayanlar için okuması ve takibi rahattır. Hem ayrıntılı açıklamaları hemde basit düzeyde anlatım ve örnekleri çok derece faydalıdır. 24 ünitelik kitap yaklaşık 400 sayfa , heyecanlı bir okuyucunun bir ayda rahatça bitirebileceği bir kitaptır. Rod Stphens ın bu kitabı 2010 basımıdır, içerik yeterlidir, .Net 4.5  ve c#2012 yerine bir önceki sürüm için yazılmış olması temel  konularda hiçbir problem oluşturmamaktadır.


 WPF 4 Unleashed
Adam Nathan’ın  bu kitabı teknik ayrıntılara değil, görsel özelliklerin  nasıl bir yapı içerisinde oluşturulduğuna vurgu yapmaktadır, ve bu konuda oldukça başarılıdr.   Arayüz ile fazlaca uğraşmak ve görsel öğelerin nasıl bir yapıya sahip olduğunu ve kullanım örneklerini merak ediyorsanız kullanmanız gereken bir kitaptır.


Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5

gerçek bir referans bible serisi türü bir kitaptır. WPF en ince ayrıntıları keşfetmek ustalaşmak için kullanılabilecek ve bence bu konuda rakipsiz en iyi kitaptır. Dezavanatjı konuya yeni başlayan biri için takip edilmesi ve başlangıçta bazı yüzeysel bilgilerin kullanımına odaklaması yeterli ikken okuyucunun çok basit özelliklerde ayrıntılara boğulması sürekliliği engeller ve siz bu kitapta daha 5 üniteye gelmeden sıkılmış olursunuz. Yani bütün bir senaryoyu görmek basit uygulamalar yapmak yerine ele alınan konunun tüm yönleriyle açıklanmak istenmesi başlangıç seviyesi okuyucusu için bir bir handıkaptır. Ve okumayı zorlaştırmaktadır. Konu hakkında biraz uzmanlaşınca mutlaka kütüphanenizde bulunması gereken bir başvuru kitabıdır.





WPF; Windows ortamı için günümüz uygulama geliştirme aracıdır. Sanılanın aksine WPF sadece masaüstü uygulamalar geliştirmek için kullanılmaz. Bununla beraber,
  • Sadece birşeylerin bilgilendirme amaçlı gösterildiği basit web sayfaları da oluşturulabilir. Bu konuya yeni başlayanlar için süpriz olmamalı. WPF, görsellik için zaten de xaml kullanmakta, oda bir nevi xml , xml de html dir.  Böylece basit bir html sayfasını wpf ile oluşturmak mümkündür.
  • Silverlight - ilk sürümlerde ismi wpf/e dir (e everywhere için kısaltmadır) - ile güvenliği arttırılmış web uygulamaları geliştirmek de mümkündür. Silverlight ve Adobe firmasının muadil ürünü Flex ürünü web ortamında programcıların alışık olduğu masaüstü uygulama geliştirrme IDE esnekliğinde çalışma sağlanmasını amaçlamıştır.  Bunun ne demek olduğunu anlamak için c# kodununu geçici bir süreliğine notepad yazıp csc HelloWorld.cs ile derleme yaptığınızı düşünmeniz yeterli.
  • Öğrenmesi eski form uygulamalarına göre biraz zaman alıcı olsa da çok gelişmiş özellikleri içermektedir. 
  • Arayüzü bir xaml türü dosyada saklayarak daha esnek bir ortam sağlar.  Arayüz sayfasını DOM yapısı gibi hiyerarşik bir yapıda inceleme ve güncelleme imkanı vardır.
  • Formlardan farklı olarak herhangi bir kontrolün içeriğini başka bir control olmasına imkan sağlar. Çizim, multimedia, grafik kütüphanesi gelişmiştir. style, animasyon, geometrik dönüşümler, 3D grafik yeteneği ,vektör grafikleri destekler.

Hiç yorum yok:

Yorum Gönder