27 Haziran 2007 Çarşamba

Windows Forms yerine WPF mi?

WPF zengin bir form içeriği oluşturmak için eski Windows Formlarından daha başarılı ve güçlü bir yapıdır. Bununla birlikte ticari uygulamalar için Windows Formları halen sektörün hakimidir. Piyasada çok sayıda 3.parti Windows Forms bileşeni bulunmaktadır. Şuan için WPF bileşenlerini kullanarak programlama yapmak gerçekten güç. Mesela olayları bağlamak için elle tanımalama yapmak gerekiyor. Gelecek açısından WPF bileşenlerine ait kontrollerin programlanması ile ilgili kolaylıklar VS "Orcas" ile beraber geldiğinde bu sorunlar ortadan kalkacaktır.

WPF grafik alanında getirdiği yenilikler ve görünüm açısından olan esnekliği ile Vista işletim sistemi üzerinde kendini göstereceği kesindir. İsteyen kullanıcılar için Windows Forms bileşenlerinide WPF üzerinde kullanma imkanı vardır. Gelecek WPF teknolojisinin:)

2 yorum:

Umit Gunduz dedi ki...

WPF bence de geleceğin görsel arayüz teknolojisi WPF ile yaklaşık olarak 4 aydır çok sağlam uğraşıyorum ve wpf kullanarak çalıştığım şirkette bir GUI framework geliştirmeye çalışıyoruz. XAML ve yeni WPF kontrolleri ile bir şeyler yapmak ve görselliği doruklara çıkarmak gerçekten hayal gücünüze kalmış çünkü matrix teki güzel bir diyalog aklıma geliyor xaml ile çalışıyorken. "Kaşık yok neo" :D gerçekten öyle control template ini istediğiniz gibi değiştirip istediğiniz herhangi bir kontrolü çok kolay bir şekilde istediğiniz gibi değiştirebiliyorsunuz. Yani winform kontrollerinde bir button vardır o buttondur başka bir şey gibi davranması için çok aşırı kasarsınız ama bunda bir button istediğiniz bir anda listbox combobax yada başka herhangi bir kontrole dönüştebilirsiniz ve bunu yaparken buttondan türediği için button özelliklerini de kullanabilirsiniz.
Ama tabi WPF yeni bir teknoloji çok fazla eksiklikleri var ve sıkıntıları da biraz insanın canını sıkan derecelere ulaşıyor aslında. Örnek vermek gerekirse winform da çok kolay olan Visual Inheritance yok. Yani form2 yi form1 den türettiniz diyelim görsel olarak form2 yi açtığınızda başta designer olmak üzere derlediğinizde derleyici size hata verir. xaml in virtual inheritance i desteklemediğinden dolayı kafadan hüsrana uğrayabilirsiniz. Bu en temel olay en çok başınızı ağrıtacak sorun ama siz Model View Presenter, Model View Controller gibi herhangi bir pattern kullanmıyor (ki WPF nin patterni Model-View-View-Model) inheritance yapmıyorsanız herşey için ayrı form yapıp bağımsız formlar tasarlıyorsanız sorun yok. Çünkü WPF ve XAML görsellik için hayal gücünüzü ve kullandığınız makinanın donanımsal konfigürasyonunu zorlayacaktır. WPF gerçekten görsellik açısından sağlam makinalar istiyor ve bu makinalarda Vista olması gerçekten görselliği ve çalışma performansını arttırıyor. WPF de 3D objeler kullanarak 3D animasyonları da gerçekleştirebileceğiniz ve iyi bir seviyede yalnız bu görsellik özellikle vista kullanmıyorsanız makinanızı bayağı bir zorluyor özellikle de bitmap efekleri, animasyonları (WPF de adı Storyboard) ları bayağı bir kastırıyor ve geçişlerdeki render hesaplamalarından dolayı vista ve iyi konfigürasyonlu makinalarda bile kasıyor.
Biz Visual Inheritance i değişik şekillerde son kullanıcı için hallettik ama developerlar bir form u yada page i inherit ettiğinde designerda göremiyor.
Ama düşününce bu winform un üstü geleceği ve daha iyi bir teknoloji ise muhakkak bu desteklenir diye düşünüyorum.
Expression Blend de buna Designerlara dahil sadece Visual Studio nun designerı değil ki Visual Studio nun designer XMAL için berbat diyebilirim. Tasarımı bence Visual Studio ya hiç bulaştırmayın Expression Blend o konuda daha güzel ve harika. Ve kullanımı çok kolay. Orcas da (Beta1 i kullanıyorum) desginer problemi halledilmemiş görülüyor. Ama canınızı sıkacak olan Expression Blend de XAML kodu tarafında intellisense eksikliği çekebilirsiniz :D. bu konuları iyi düşünün ve ona göre yön verin kendinize. Winform hala kral ama vista yaygınlaştıkça insanlar aero ya alışınca ve ardından microsoft surface deki gibi olmaya başlayınca ekranlar bir kez daha düşünmek zorunda kalabilirsiniz. Teşekkür ediyorum saygılarımla.

Resul ÇAVUŞOĞLU dedi ki...

Umit Gunduz arkadaşımıza tecrübelerini bize yansıttığı için teşekkür ediyorum. Yorumlarınızın devamını bekliyorum:)