Winforms, WPF, UWP ve XAML

Windows tabanlı işletim sistemlerinde kullanılan Winforms, WPF, UWP nedir aralarındaki fark ve XAML ile ilgili bilgiler yer alıyor.

Winforms nedir?

Winforms (Windows Forms) veya Windows formları Windows tabanlı işletim sistemlerinde kullanılan ilk GUI (Graphical User Interface) arayüzüdür.

Windows işletim sisteminin en önemli özelliği görsel arayüzünün kolay ve pencereler olarak adlandırılan yapılardan oluşmadır.

Zaten bundan dolayı işletim sisteminin adı Windows yani Pencereler olarak adlandırılmaktadır.

Uzun yıllar QBasic, Visual Basic, Visual Basic 6.0 ve C# gibi programlama dilleri ile bu işlem işletim sisteminin çekirdeğinde yer alan WinAPI sistem çağrıları ile yapıldı.

Winforms ile geliştirilen uygulamalar sisteme bağlı olduğundan dolayı esnek ve genişletilebilir bir yapıya sahip değil.

Bundan dolayı Microsoft XML tabanlı XAML yapısını kullanan WPF arayüzünü geliştirmiştir.

WPF nedir?

WPF (Windows Presentation Foundation), 2006 yılında .NET Framework 3.0 ile birlikte gelen yeni GUI geliştirme arayüzüdür.

Winforms ile uygulama geliştirirken kullanılan bileşenler sürükle bırak ile oluşturulmasına rağmen arka tarafta oluşturulan bileşene ait komutlar yer alıyordu.

WPF ise tasarım ve kodlamayı birbirinden ayırmak ve daha esnek bir görsel arayüz sunmak için XML tabanlı XAML yapısını kullanır.

XML hakkında detaylı bilgi almak için XML Nedir? yazıma bakabilirsiniz.

Bu yapı sayesinde web tabanlı uygulamalarda olduğu gibi bileşenler etiket ve etiket özellikleri ile belirlenmektedir.

Örnek bir WPF yapısı aşağıda yer almaktadır.

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
        <Rectangle Width="200" Height="50" Fill="Red" />
        <Rectangle Width="200" Height="50" Fill="Yellow" />
        <Rectangle Width="200" Height="50" Fill="Green" />
    </StackPanel>
</Window>

WPF içerisinde kullanılan bu etiketler xmlns ile belirlenmiştir ve standart etiketlerden farkı yoktur.

Örnek incelendiğinde yapılan işlem web sayfalarında kullanılan HTML etiketleri gibi etiket kullanmak ve etiket özelliğine değer vermektir.

WPF yapısını Winforms yapısından ayıran en önemli özelliği esnek olması, genişletilebilir olması ve performansıdır.

Winforms yapısı sistem çağrılarını kullandığından dolayı genellikle işlemciyi kullanmaktadır.

WPF yapısı DirectX sayesinde ekran kartını kullanarak daha performanslı işlemler yapmaktadır.

UWP nedir?

UWP (Universal Windows Platform) veya Evrensel Windows Platformu Microsoft tarafında geliştirilen GUI arayüzüdür.

UWP yapısı da WPF yapısı gibi XML tabanlı XAML yapısını kullanır.

Aslında WPF ile UWP arasında hiçbir fark yoktur.

WPF sadece Windows tabanlı işletim sistemleri için kullanılan bir arayüz iken UWP işletim sistemi bağımsız olarak GUI oluşturmayı amaçlamaktadır.

UWP ile geliştirilen bir arayüz daha sonra web tabanlı bir arayüze veya cep telefonu arayüzünde de kullanılması amaçlanmaktadır.

XAML nedir?

XAML (eXtensible Application Markup Language) veya Genişletilebilir Uygulama İşaretleme Dili XML tabanlı görsel arayüz hazırlama için kullanılan etiket topluluğudur.

XML yapısının en önemli özelliği standart bir yapısının olmaması ve standartların belirlenebilmesidir.

Web sayfaları için oluşturulan HTML yapısı veya WPF yapısı incelendiğinde XML kullanıldığı görülür.

Bu yapılar içerisinde kullanılan etiket ve etiket niteliklerinin standardı en başta yer alan tanımlar ile belirlenir.

Yukarıda yer alan örnek incelendiğinde xmlns ile çeşitli etiket ve etiket nitelikleri belirlenmiştir.

XAML yapısı da çeşitli etiket ve etiket niteliklerinin belirlendiği bir standarttır.

XAML içerisine yazılan etiketler doğrulandıktan sonra CLR içerisinde yer alan nesnelere ve özelliklerine dönüştürülür.

<Button Width="200" Height="100" Foreground="Blue" Content="Yusuf SEZER" FontSize="30" />

Yukarıdaki etiket aşağıdaki komutlara karşılık gelir.

Button myButton = new Button();
myButton.Width = 200;
myButton.Height = 100;
myButton.Foreground = Brushes.Blue;
myButton.Content = "Yusuf SEZER";
myButton.FontSize = 30;

WPF ve UWP yapısını XAML yapısı ile oluşturulduğundan XAML ile tanımlanan etiketleri ve kullanımını öğrenmek faydalı olacaktır.

.NET Derslerine buradan ulaşabilirsiniz.

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!