Saya telah mengembangkan aplikasi Windows Forms selama 5 tahun sekarang. Banyak orang mengatakan bahwa saya harus melihat ke WPF. Saya memiliki beberapa pertanyaan tentang WPF vs Windows Forms untuk menentukan mana yang terbaik. WPF lebih baru dari Windows Forms dan banyak orang mengatakan itu akan menjadi masa depan. Yang lain mengatakan bahwa Windows Forms lebih tua dan karenanya lebih aman. Saya tidak yakin apa yang akan menjadi masa depan. Saya telah mencari tahu kelebihan dan kekurangannya di Google, tapi saya harap Anda dapat memberikan jawaban yang lebih mendalam untuk pertanyaan-pertanyaan ini:
UI seperti apa yang Anda bangun. Jelas, kompleksitas tampilan yang Anda rancang akan menjadi faktor kinerja pada kedua platform. Mereka memiliki tata letak dan pipa rendering yang berbeda.
Seberapa efektif Anda mengoptimalkan performa pada setiap platform.
XAML memudahkan untuk membuat dan mengedit GUI Anda, dan memungkinkan pekerjaan dibagi antara perancang (XAML) dan pemrogram (C#, VB.NET, dll.).
XAML memungkinkan Anda untuk membuat antarmuka pengguna untuk aplikasi Windows dan aplikasi web (Silverlight/XBAP).
Databinding, yang memungkinkan Anda untuk mendapatkan pemisahan data dan tata letak yang lebih bersih.
Menggunakan akselerasi perangkat keras untuk menggambar GUI, untuk kinerja yang lebih baik.
Rangkaian kontrol dalam kotak WPF'jauh lebih terbatas daripada WinForms.
Ada dukungan yang lebih besar dalam ruang kontrol pihak ketiga untuk WinForms. (Itu berubah, tetapi untuk saat ini, WinForms memiliki dukungan yang lebih besar di komunitas).
Kelemahan utama WPF adalah Mono tidak benar-benar mendukungnya untuk lintas platform (misalnya, tidak berfungsi di Linux dan Mac). Awalnya, Xamarian/Novella mengatakan bahwa mereka tidak akan mengimplementasikannya karena kompleksitas implementasi. Saya belum melihat apa pun yang bertentangan. Bukan berarti tidak, tetapi rekomendasi mereka adalah untuk menulis kelas model dan kemudian melakukan front end khusus OS. Bahkan dengan WPF yang bersumber terbuka, mungkin dibangun di atas sesuatu yang tidak mudah di-porting.
Tergantung pada kemampuan belajar Anda.
Bagian mana dari WPF yang harus saya perhatikan?
XAML: Pelajari tentang XAML dan bagaimana XAML digunakan dalam aplikasi WPF.
Layout: Pelajari tentang panel tata letak dan bagaimana mereka digunakan untuk membangun antarmuka pengguna.
Pengikatan data: Pelajari cara kerja pengikatan data WPF dan bagaimana cara penggunaannya.
Template data dan pemicu: Pelajari cara kerja templat dan pemicu data dan bagaimana mereka dapat digunakan.
Styles: Pelajari tentang bagaimana UI dapat ditata di WPF.