Công ty của tôi đã phát triển một sản phẩm lâu dài sử dụng MFC trong Visual C++ làm tiêu chuẩn defacto cho phát triển UI. Codebase của chúng tôi chứa ALOT của mã cũ/cổ mà phải được duy trì hoạt động. Một số mã này cũ hơn tôi (ban đầu được viết vào cuối những năm 70) và một số thành viên trong nhóm của chúng tôi vẫn còn trên Visual Studio 6.Tương lai kiểm chứng một ứng dụng giao diện người dùng lớn - MFC với gói tính năng 2008, hoặc C# và Winforms?
Tuy nhiên, kết luận đã may mắn đạt được rằng sản phẩm của chúng tôi có vẻ hơi lỗi thời cho các đối thủ cạnh tranh của chúng tôi 'và điều gì đó cần phải được thực hiện.
Tôi hiện đang làm việc trên một khu vực mới của giao diện người dùng hoàn toàn tách biệt với phần còn lại của sản phẩm. Do đó, tôi đã có cơ hội thử các ngăn xếp công nghệ 'mới' như một loại chứng minh nền tảng trước khi quá trình di chuyển dài trong phần còn lại của giao diện người dùng bắt đầu.
Tôi đã sử dụng C# với Windows Forms và khung .net trong một thời gian rảnh và tận hưởng nó, nhưng có phần lo lắng về những cơn đau đầu do interop gây ra. Trong khi nhánh đặc biệt này của giao diện người dùng sẽ không yêu cầu nhiều interop với codebase C++ kế thừa, tôi có thể coi đây là vấn đề trong tương lai.
Cách khác là tiếp tục với MFC, nhưng hãy thử và tận dụng lợi thế của gói tính năng mới đi kèm với VS2008. Điều này tôi đoán là lựa chọn đơn giản nhất, nhưng tôi lo lắng về tuổi thọ và không tận dụng lợi thế của sự tốt đẹp đó là ...
Vì vậy, tôi nên chọn cái nào? Chúng tôi là một nhóm nhỏ nên đề xuất của tôi có lẽ sẽ được chấp nhận như một hướng tương lai cho sự phát triển của chúng tôi - tôi muốn làm đúng.
MFC có bị chết không? Là C#/Winforms con đường phía trước? Có điều gì khác tôi hoàn toàn mất tích? Giúp đánh giá cao!
Có, MFC đã chết. WinForms sắp chết. Tại thời điểm này, con đường phía trước là WPF. Chuyển đổi từ MFC sang WinForms sẽ cắt giảm đáng kể chi phí, nhưng việc chuyển từ WinForms sang WPF sẽ giảm chi phí đáng kể. WinForms là một lựa chọn tốt cho những người vẫn cần hỗ trợ Windows 2000 hoặc Windows Mobile. DirectX vẫn tốt nhất cho game 3D và CAD. IMHO, mọi người khác nên bỏ qua WinForms hoàn toàn và chuyển trực tiếp đến WPF. –