Tôi biết asp.net và Winform phát triển. Tôi không phải là người phát triển nhảy vào một công nghệ mới chỉ vì nó mới. Nó cần phải cho tôi thêm lợi ích như năng suất cao hơn.
Đối với nhóm của mình, WPF đã được chứng minh là nhanh hơn nhiều so với WinForms để phát triển ứng dụng. Gần đây, chúng tôi đã phát hành một ứng dụng cỡ trung bình trong 32 ngày. Chúng tôi đã có được lợi thế của một nhà phát triển WPF có kinh nghiệm trong nhóm, và những người thiếu kinh nghiệm, những người mong muốn tìm hiểu công nghệ này. Có tinh thần rất lớn, và năng suất thật ấn tượng.
WinForm là công nghệ đã được chứng minh trưởng thành và tôi thích thực tế tôi có thể thực hiện mọi thứ trong Visual Studio so với nhiều IDE cho WPF (VS & Blend family).
Bạn có tự coi mình là người lập mã tay hoặc trình tạo mã kéo và thả không? Nếu bạn tự coi mình là một công cụ kéo và thả, 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 làm việc hầu như chỉ 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 này. Nhưng sau đó, tôi cũng tạo HTML theo cách thủ công, vì vậy tôi cảm thấy tự nhiên đối với tôi ...
Ưu điểm của WPF so với Winforms cho các ứng dụng kinh doanh thuần túy là gì? Tôi không quan tâm đến kẹo bổ sung mắt, hoạt hình, gradient, hiệu ứng hiển thị hình ảnh và như vậy 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 và hiệu ứng cơ bản. 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 là Battleship Grey? Tại sao chúng không thể sử dụng được? Cấp, nó không phải là màu sắc, độ dốc, hình động làm cho một ứng dụng doanh nghiệp có thể sử dụng được, nhưng việc sử dụng những hiệu ứng này có thể giúp người dùng trải nghiệm, và đây là điều quan trọng đối với tôi. Tôi có thể đã làm tất cả mọi thứ tôi đã làm trong các ứng dụng WPF trong WinForms - nó chỉ mất nhiều thời gian hơn.
Ràng buộc dữ liệu phong phú hơn?
Hỗ trợ dữ liệu thực sự là tuyệt vời. Đây là tính năng được yêu thích nhất của tôi trên nền tảng này. Kiểm tra this wonderful Databinding Cheatsheet.
Cố 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 thử và thuyết phục bất kỳ ai khác chuyển sang WPF. Các nhà phát triển tôi đã cố gắng để "thuyết phục" (tất cả các nhà phát triển Winforms giàu kinh nghiệm) thường phải vật lộn với nền tảng này. Họ không được đầu tư vào công nghệ. Họ không "lấy nó". Tôi khuyến khích mọi người kiểm tra công nghệ để xem liệu nó có phù hợp với họ như một nhà phát triển hay không. Đường cong học tập rất lớn. Nếu bạn học bằng sách, hãy xem this SO post để biết một số bài đánh giá nhỏ về sách WPF. Nếu bạn học bằng video, hãy xem windowsclient.net WPF videos. Nếu bạn tìm hiểu theo ví dụ, hãy xem this hoặc this bài đăng. Hãy quên đi mọi thứ bạn biết về WinForms. WPF thực sự có vẻ gần gũi hơn với ASP hơn WinForms. Tạo một số ứng dụng mẫu. Xem liệu nó có phù hợp với bạn và nhóm của bạn không.
Vì bạn có nhiều kỹ năng (kỹ năng asp.net/winform), bạn có thể thấy lợi thế của skilling-up trong WPF vì nó 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 và ứng dụng web phong phú của bạn.
Cá nhân tôi cảm thấy WPF là công nghệ phía khách hàng tốt nhất có sẵn cho .NET framework, và nói chung sẽ tránh phát triển trong WinForms cho công việc trong tương lai. YMMV
Chúc bạn may mắn với quyết định của mình.
Tôi nghĩ rằng có một số lý do mạnh mẽ để chuyển sang WPF. Tôi không muốn lặp lại [một blog mà tôi vừa viết] (http://www.wiseowl.co.uk/blog/s308/wpf-winforms.htm), do đó, sẽ đặt một liên kết đến nó ở đây. –
Đây là một câu hỏi tuyệt vời. Nên mở cửa trở lại. Tôi là một nhà phát triển winform thực hiện chuyển đổi sang WPF. Đường cong học tập rất lớn. Nhưng WPF là tương lai, vì nó là ngôn ngữ khai báo của tự nhiên, giống như HTML. Winform chủ yếu là thủ tục, đó là phù hợp hơn cho các thuật toán, nhưng chi tiết hơn để hiển thị giao diện người dùng. Hãy thử giải nén một tập tin in .XPS, bạn sẽ thấy WPF xaml ở đó. Chỉ có quá nhiều giới hạn với Winforms. Mặc dù nó vẫn hoạt động, nhưng WPF "eye-candy" có thể giúp giảm mức độ căng thẳng của người dùng. Bạn có thể trình bày nhiều hàng bản ghi theo cách có ý nghĩa hơn khác với listview hoặc datagrid. –