Di chuyển ra khỏi các công cụ CodeGear/Borland về cơ bản sẽ loại bỏ bất kỳ giải pháp dựa trên Delphi .NET nào và tổng số viết lại ứng dụng của bạn.
Tôi hy vọng câu trả lời của tôi dưới đây sẽ giúp bạn quyết định.
Từ kinh nghiệm (đã viết lại một ứng dụng Delphi với một nhóm người), nó sẽ tập trung vào một trong hai lựa chọn bên dưới.
Nhưng trước tiên là cảnh báo: bạn sẽ mất ít nhất tổng nỗ lực phát triển để ghi ứng dụng Delphi hiện tại của bạn.
Trong trường hợp của chúng tôi, nỗ lực này đã được bảo đảm vì ứng dụng Delphi cũ (mà thực tế là Kylix) đã hết hạn vì nhiều lý do khác nhau. Viết lại của chúng tôi bao gồm hai phần: viết lại với chức năng bổ sung hạn chế theo sau bởi rất nhiều chức năng bổ sung (thiết kế của phần đầu tiên đã đưa phần thứ hai vào tài khoản).
Trở về lựa chọn của bạn:
1- tổng viết lại bằng C# hoặc VB.NET trong Visual Studio
2- một tái sử dụng một phần của mã lớp kinh doanh Delphi hiện tại của bạn bằng cách sử dụng ôxy từ RemObjecs (một Visual Studio plugin với cú pháp rất giống với cú pháp Delphi). CodeGear sẽ sớm cung cấp Prism (có khả năng trước cuối năm 2008), cũng sẽ tích hợp vào Visual Studio.
Bởi vì truy cập dữ liệu .NET và giao diện người dùng hoàn toàn khác với Delphi, bạn sẽ phải thực hiện việc này từ đầu (cả cho kịch bản 1 và 2). Visual Studio 2008 cung cấp rất nhiều lợi ích ở đây trên Visual Studio 2005.
Không có những điều như thực hiện di chuyển này dần dần, vì bạn thực hiện một thay đổi nền tảng hoàn chỉnh ở đây, đó là một cách tiếp cận tất cả hoặc không có gì.
Cả hai trường hợp sẽ mất một khoảng thời gian đáng kể (mặc dù bạn có kinh nghiệm Delphi, làm quen với bạn trong thế giới .NET sẽ mất thời gian).
Visual Studio có thể tương tác với Crystal Reports và hoạt động tốt với SQL Server.
Vì Visual Studio 2008 cung cấp rất nhiều lợi ích (không chỉ .NET 3.5, mà còn năng suất khôn ngoan), bạn nên làm tốt hơn. Về phía giao diện người dùng, bạn cần thực hiện lựa chọn cân bằng giữa WinForms (còn gọi là Windows Forms) và Windows Presentation Foundation (còn gọi là WPF).
Nếu đó là ghi đè 1 đến 1, bạn có thể muốn gắn bó với WinForms vì nó quen thuộc với những gì bạn có. Bạn có thể cần phải sử dụng một số thành phần của bên thứ 3 để có được giao diện người dùng của bạn; DevExpress là một lựa chọn tốt ở đây vì chúng có các thành phần tương tự trong Delphi và Visual Studio.
Nhưng nếu bạn muốn dùng kẹo mắt tương lai, thì bạn có thể xem xét WPF. Hãy chuẩn bị cho một đường cong học tập dốc hơn ở đây so với WinForms vì nó rất khác với những gì bạn đang sử dụng.
Nếu bạn quyết định ở lại với Delphi, bạn có thể muốn xem VCL cho Web (aka IntraWeb) và vào Delphi 2009 (rất nhiều thay đổi trong thế giới Delphi kể từ khi Delphi 7 được công bố cách đây 6 năm).
Chúc bạn may mắn!
--jeroen
Cách tiếp cận RAD, tức là giao diện người dùng và logic trộn và việc sử dụng procs được lưu trữ khiến việc di chuyển trở nên khó khăn. Bạn cần phải "đánh lừa" các đường nối ", tức là một phần của mã có thể được di chuyển và thử nghiệm, và làm từng chút một. Hãy xem [Làm việc hiệu quả với Mã kế thừa] (http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052). Đáng đọc cuốn sách tuyệt vời này. Và chuyển sang phương pháp tiếp cận SOA để di chuyển Logic nghiệp vụ của bạn từ giao diện người dùng và các procs được lưu trữ tới các máy chủ. –