Tôi biết asp.net và phát triển winform. Tôi không phải là kiểu nhà phát triển nhảy vào một công nghệ mới chỉ vì nó mới. Nó cần mang lại cho tôi những lợi ích bổ sung như năng suất cao hơn.
Đối với nhóm của tôi, WPF đã được chứng minh là nhanh hơn nhiều so với WinForms để phát triển các ứng dụng. Gần đây, chúng tôi đã phát hành một ứng dụng cỡ trung trong 32 ngày. Chúng tôi có lợi thế về một nhà phát triển WPF giàu kinh nghiệm trong nhóm và những người thiếu kinh nghiệm luôn mong muốn tìm hiểu công nghệ. Có tinh thần tuyệt vời và năng suất rất ấn tượng.
WinForm là một công nghệ đã được chứng minh trưởng thành và tôi thích thực tế là tôi có thể làm mọi thứ trong Visual Studio so với nhiều IDE dành cho WPF (họ VS & Blend).
Bạn tự cho mình là một hand-coder hay một tay coder kéo và thả? Nếu bạn coi mình là một người kéo và nhỏ, thì công cụ WPF hiện tại có thể không phù hợp với bạn. Có thể đợi Visual Studio 2010? Tôi hầu như chỉ làm việc trong XAML. Hầu hết các WPF'ers có lẽ sẽ đồng ý rằng đây là cách hiệu quả nhất để tạo các ứng dụng WPF tại thời điểm hiện tại. Nhưng sau đó, tôi cũng tạo HTML bằng tay, vì vậy tôi cảm thấy rất tự nhiên ...
Ưu điểm của WPF so với Winforms cho các ứng dụng thuần túy dành cho doanh nghiệp là gì? Tôi không quan tâm đến kẹo mắt bổ sung, hoạt ảnh, độ dốc, hiệu ứng hiển thị hình ảnh, v.v. mà WPF cung cấp.
Tôi đã từng nghĩ theo cách này, nhưng gần đây tôi đã phát triển một ứng dụng kinh doanh có độ dốc, hoạt ảnh cơ bản và hiệu ứng. Những tính năng ưa thích này đã được thêm vào để nâng cao trải nghiệm người dùng. Tại sao các ứng dụng kinh doanh nên có màu Xám Battleship? Tại sao chúng không thể sử dụng được? Đúng vậy, không phải màu sắc, độ dốc, hoạt ảnh làm cho ứng dụng kinh doanh có thể sử dụng được, nhưng việc sử dụng những hiệu ứng này có thể giúp trải nghiệm người dùng và đây là điều quan trọng đối với tôi. Tôi có thể đã làm mọi thứ tôi đã làm trong ứng dụng WPF trong WinForms - nó sẽ mất nhiều thời gian hơn.
Liên kết dữ liệu phong phú hơn tốt hơn?
Việc hỗ trợ databinding thực sự là tuyệt vời. Đó là tính năng yêu thích nhất của tôi trong nền tảng. Kiểm tra Databinding Cheatsheet tuyệt vời này .
Cố gắng thuyết phục một người như tôi chuyển đổi.
Tôi đã quyết định rằng tôi sẽ không cố gắng thuyết phục bất kỳ ai khác chuyển sang WPF. Các nhà phát triển mà tôi đã cố gắng "thuyết phục" (tất cả các nhà phát triển Winforms có kinh nghiệm) thường gặp khó khăn với nền tảng này. Họ không được đầu tư vào công nghệ. Họ không "hiểu được". Tôi khuyến khích mọi người kiểm tra công nghệ để xem nó có phù hợp với họ với tư cách là nhà phát triển hay không. Đường cong học tập là rất lớn. Nếu bạn học theo sách, hãy xem bài đăng SO này để biết một số đánh giá nhỏ về sách WPF. Nếu bạn học bằng video, hãy xem các video WPF của windowsclient.net . Nếu bạn học theo ví dụ, hãy xem cái này hoặc cái nàybài đăng. Quên mọi thứ bạn biết về WinForms. WPF thực sự có vẻ gần gũi với ASP hơn WinForms. Tạo một số ứng dụng mẫu. Xem nó có phù hợp với bạn và nhóm của bạn không.
Vì bạn là người đa kỹ năng (kỹ năng asp.net/winform), bạn có thể thấy lợi thế của việc nâng cao kỹ năng trong WPF vì nó có liên quan rất chặt chẽ với Silverlight. Silverlight lấp đầy khoảng cách giữa các ứng dụng khách phong phú và ứng dụng web của bạn.
Cá nhân tôi cảm thấy WPF là công nghệ phía máy khách tốt nhất hiện có cho .NET framework và nói chung sẽ tránh phát triển trong WinForms cho công việc sau này. YMMV
chúc may mắn với quyết định của bạn.